브랜치 병합 : 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을 생성하며 병합된다.
'Git' 카테고리의 다른 글
[Git] 브랜치 간 변경사항 확인 : git log --branches (0) | 2018.02.04 |
---|---|
[Git] 브랜치 생성 및 전환 : git branch, git checkout (0) | 2018.02.04 |
[Git] 브랜치 : branch (0) | 2018.02.04 |
[Git] 버전 되돌리기 : git reset (0) | 2018.02.03 |
[Git] 버전간 변경사항 확인 : git log (0) | 2018.02.03 |