[Git - 지옥에서 온 git] 3일차 - branch 수련 (git-scm의 Documentation 보기)

2022. 8. 4. 18:30개발공부 기강잡자/Git

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

 

Git - Basic Branching and Merging

If you need more advanced tools for resolving tricky merge conflicts, we cover more on merging in Advanced Merging.

git-scm.com

1. C0, C1, C2의 커밋을 한 master branch가 있음

2. C2버전에서 수정 사항이 생겨서 iss53이라는 branch를 만들고 수정

3. 이슈 수정 중에 빠르게 수정해야하는 버그가 생김

> hotfix라는 branch를 master에서 생성, 수정

4. hotfix 수정 후, 커밋 (C4)

5. hotfix 커밋(C4) 내역을 master에 merge

$ git checkout master
$ git merge hotfix
Updating f42c576..3a0874c
Fast-forward
 index.html | 2 ++
 1 file changed, 2 insertions(+)

Fast Forward (빨리 감기)

: master가 가리키는 커밋(C2)을 hotfix가 가리키는 커밋(C4)으로 변경 

(별도의 커밋을 생성하지 않는다)

 

6. iss53의 수정 내역 커밋

7. iss53의 수정 내역(C5)을 master에 반영

- master로 checkout하여 iss53master로 merge

$ git checkout master
Switched to branch 'master'
$ git merge iss53
Merge made by the 'recursive' strategy.
index.html |    1 +
1 file changed, 1 insertion(+)

Merge made by the 'recursive' strategy.

: 재귀전략을 사용하여 merge함

* 현재 iss53 master 에서 생성된 이후에 master의 commit이 변경되었음 > Fast Forward 불가능

7.1 masteriss53의 공통의 조상을 찾음 (C2)

7.2 master의 최종 커밋과 (C4) iss53의 최종 커밋인 (C5)를 합침

7.3 두개를 합쳤다는 별도의 merge commit을 생성함 (C6)

 

 

재밌다 히히

😎