The Ultimate Git Course - with Applications in Unreal Engine
Fast-forward Merge
현재 Branch 포인터를 Merge할 Branch 포인터와 동일한 commit을 가리키도록 한다.
- 현재 Branch 포인터가 가리키는 commit이 Merge할 Branch 포인터가 가리키는 commit의 조상일 때
- 새로운 Branch를 만든 후 기존 Branch에서는 변경 사항이 없었다는 뜻이다.
3-way (Recursive) Merge
파일을 라인, 블록 단위로 비교하여 병합한다.
- 현재 Branch 포인터가 가리키는 commit이 Merge할 Branch 포인터가 가리키는 commit의 조상이 아닐 때
- LCA (최소 공통 조상)에서 둘 다 변경 사항이 있었다는 뜻이다.
- LCA, 현재 Branch의 마지막 commit, Merge할 Branch의 마지막 commit 총 3개를 재귀적으로 비교해야해야 하기 때문에 3-way Merge이다.
Merge conflicts
3-way Merge 시 같은 부분이 서로 다른 내용으로 변경되었을 때 발생한다.
- 텍스트 에디터 등에서 직접 수정해 주어야 한다.
- 꼭 두 내용 중 하나가 아니라 아예 새로운 내용으로 수정해 주어도 된다.
'Unreal Engine > The Ultimate Git Course in Unreal Engine' 카테고리의 다른 글
Remote와 Local Repository (0) | 2023.01.20 |
---|---|
Git의 Rebase (0) | 2023.01.19 |
Git의 Branch (0) | 2023.01.19 |
.gitignore (0) | 2023.01.18 |
Git의 Object Store 개념 (0) | 2023.01.18 |