3-way merge
git merge에는 고유의 동작 방식이 존재하는데
- 메인 브랜치와 신규 브랜치가 각각 신규 커밋이 1개 이상 있을 경우에 두 브랜치를 merge할 경우
- 브랜치의 두 버전이 합쳐져서 최종적으로 main에 남게 되는 것을 말한다.
말로하니까 어렵지 실제로 보면 어렵지않다.
일단 아래와 같이 브랜치를 준비해놓은 상태이다.
- 커밋명이 '푸쉬' 인 main 브랜치에서 three-way 브랜치가 뻗어나왔다.
- three-way 브랜치는 쓰리웨이연습, 쓰리웨이연습2로 2개의 커밋이 있는 상태이다.
- main 브랜치는 three-way 브랜치를 만든 후 메인 수정이라는 별도의 커밋을 해놓은 상태이다.
즉, 아래의 그림과 같다.
이 때 main 브랜치로 이동해서 three-way 브랜치를 merge할 경우
두 브랜치의 코드를 합친 뒤 새로운 commit을 자동으로 생성해준다.
이로써,,
두 브랜치는 코드가 합쳐진 상태로 main에 새로운 commit으로 생성되었다.
위 그래프를 그림으로 바꾸면 아래와 같다.
(사실 말만 3 way merge이고, 그냥 직관적으로 생각하면 이렇게 될 수밖에 없는 것이다)
'했던것들 > git' 카테고리의 다른 글
git branch 목록 확인 및 브랜치 삭제 (0) | 2022.12.02 |
---|---|
git merge 동작 방식 (fast forward merge) (0) | 2022.12.01 |
git branch/merge 명령어 및 연습 (0) | 2022.12.01 |
git 명령어 (init, add, commit, restore, log) (0) | 2022.12.01 |
git 환경설정(config) 기초 명령어 (0) | 2022.12.01 |