dev_eun

[Git] 깃(Git)을 사용하는 이유 2 | branch & merge 본문

공부/Git

[Git] 깃(Git)을 사용하는 이유 2 | branch & merge

_eun 2019. 12. 9. 04:39

- brach 생성

git branch		// brach list
git branch (생성할 branch 이름)

 

- branch 이동

git checkout (branck 이름)

 

Merge

base : merge 하려고 하는 branch가 최초로 나눠진 commit(마지막 공통의 조상)

merge commit : 합쳐진 후의 버전

 

- branch 병합하기

git checkout master		// 병합할 때는 master이어야 함
git merge (병합할 branch 이름)

이름이 같은 파일일 경우 알아서 다른 부분을 병합해준다.

 

- conflict

이름이 같은 파일에서 같은 부분을 수정하였을 경우

협업하면서 일어날 수 있음

=> git이 충돌이 일어났다고 알려줌

<<<<<<<<<<<<<HEAD
...A
// 구분선까지가 HEAD(master)에서 수정된 내용
==============	// 구분선
...B
// 구분선부터가 병합하려고 하는 branch에서 수정된 내용
>>>>>>>>>>>>>some branch

충돌이 일어나면 사용자가 수동으로 수정해야 한다.

 

+ p4merge 라는 툴을 사용하면 더 쉽게 충돌된 파일을 관리할 수 있다.

config 설정을 해주고 난 후

git mergetool

 

+ cherry-pick

branch의 내용을 부분적으로 가져와서 병합하는 툴

 

+ rebase

merge와 같으나 타임라인을 더 깔끔하게 할 수 있음

 

 

+ egoing님이 하신 말씀

인생에도 branch가 있다면 얼마나 좋을까요? 인생에는 하나의 버전만 있고 reset할 수도 branch를 만들 수도 없습니다. 잃어버려야만 그 소중함을 알게 되는 것들이 참 많은 것 같아요. 그러니까 사랑하는 사람들을 후회없이 사랑할 수 있게 되었으면 좋겠습니다.

728x90