1. master 브랜치에서 커밑 c0,c1,c2를 수행한다.
2. iss53 브랜치를 생성한다.
3.iss53 브랜치에서 커밑 c3을 수행한다.
4.별도의 hotfix 브랜치를 또 생성하고 , 커밑 c4를 수행한다.
5. 이때 hotfix브랜치를 master 브랜치에 병합시키는데, hotfix브랜치의 커밑 내용(c0-c1-c2-c4)은 master 브랜치의 내용(c0-c1-c2)에서 c4가 추가된 것뿐이다. 따라서 hotfix의 내용을 그대로 참조해도 기존 master브랜치의 손상되는 커밑이 없다.
이처럼, 병합시 새로운 커밑없이 병합되는 것을 fast-forwarding 이라고 하는데, 이는 master 브랜치가 hotfix의 커밑 c4으로 가서 커밑 c4의 내용을 그대로 참조하면 되기 때문에 붙은 이름이다.
6. iss53 브랜치로 체크아웃후 커밑 c5를 수행한다.
7. iss53 브랜치를 master 브랜치로 병합시키려 한다. 이때, master브랜치의 내용(c0-c1-c2-c4)과 iss53의 내용(c0-c1-c2-c3-c5)은 c2커밑 이후에 완전 다르므로 위와 같은 fast-forwarding 방법을 사용할 수없다. 이와 같은 상황에서는 recursive 병합을 사용하는데, 병합을 위해 커밑 c6를 새롭게 생성한다.
'DevOps > Git' 카테고리의 다른 글
[Git]git remote, git push, git clone, 하나의 원격저장소를 2개의 지역저장소가 사용하는 방법(push와 pull) (0) | 2018.03.24 |
---|---|
[Git]branch의 원리, Head의 원리,되돌아가기 - reset과 checkout, reset의 soft,mixed,hard (0) | 2018.03.24 |
[Git]branch 만들기, branch 간의 정보확인, merge, merge 충돌, stash (0) | 2018.03.24 |
[Git]add, commit, status의 원리 (0) | 2018.03.24 |
[Git]깃(?)똥차게 좋은 GIT 기초 (0) | 2018.03.24 |