Git

[Git] 브랜치 병합 : branch merge

알 수 없는 사용자 2018. 2. 5. 20:23

브랜치 병합 : branch merge


git에서 브랜치 병합은 Fast-Foward와 Recursive Strategy, 두 가지 방식으로 이뤄진다.

git-scm > documentation > book 에서는 git의 기능을 예제로 설명한다. 


 

자료 : https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging



1) 실습 환경 setting

 (1) C0, C1, C2 총 3개의 commit을 만든다. 

  master branch는 'C2'를 가리키고 있다.





(2) 'iss53' 브랜치 생성

- master 브랜치와 iss53 브랜치 모두 C2라는 commit 정보를 가리키고 있다.





(3) 'iss53' 브랜치에서 'C3' commit 생성





(4) 'hotfix' 브랜치 생성 후 C4 commit 생성







(5) master 브랜치로 checkout 후에  브랜치 병합

 

 merge를 통해 hotfix 브랜치의 commit을 master 브랜치로 병합했다.

 이 때 적용되는 방식이 'Fast-forward' 이다. Fast-forward는 새로운 commit을 생성하지 않고 브랜치를

 병합한다. 이는 hotfix와 master가 같은 ancestor를 가지고 있기 때문이라고 한다.




(5) iss53 브랜치로 checkout 후 'C5' commit 생성





(6) master 브랜치로 checkout 후 iss53 브랜치 병합

merge를 통해 master 브랜치와 iss53 브랜치를 병합했다. 이 때 적용되는 방식이 'Recursive' 이다.

iss53은 ancestor에서 갈라지는 commit을 했기 때문에 새로운 commit을 생성하며 병합된다.