[Git] Git Merge

less than 1 minute read

Fast forward Merge

git-1

C4 커밋이 C2 커밋에 기반한 브랜치이기 때문에 브랜치 포인터는 Merge 과정 없이 그저 최신 커밋으로 이동한다.

$ git checkout master
$ git merge hotfix

3-way Merge

git-2

master와 iss53 브랜치를 merge하는 경우 두 브랜치의 조상이 다르기 때문에 ff merge를 진행할 수 없다. 이런 경우 3-way merge의 결과를 별도의 커밋으로 만들고 나서 해당 브랜치가 그 커밋을 가리키도록 이동시킨다. 이런 커밋을 merge 커밋이라고 부른다.

conflict

3-way merge 과정에서 conflict가 난 경우 git status를 이용해서 충돌난 파일을 찾고 수정한 후 git add를 진행한다.

mergetool

merge해야하는 여러 개의 파일 상태를 한 번에 보여주는 tool이다. 구글링 해보자.