Git에서 Branch Merge 방법들과 각 방법의 특징
브랜치를 병합할 때 Git은 여러 가지 방법을 제공한다. 특정 상황에 따라 다양한 장단점을 가진다.
Fast-forward Merge
브랜치 병합 시 대상 브랜치가 현재 브랜치에서 파생된 후에 새로운 커밋이 없는 경우, 커밋 기록을 이어서 병합한다.
특징
- 히스토리가 단순해진다.
- Merge commit이 생성되지 않는다.
3-way Merge
두 개의 브랜치가 같은 조상을 가지며, 두 브랜치 모두 새로운 커밋이 발생한 경우, 세 개의 커밋(조상, 현 브랜치, 병합 브랜치)을 이용해 새로운 병합 커밋을 만든다.
특징
- 병합 커밋이 생성된다.
- 브랜치의 히스토리를 확실하게 구분할 수 있다.
Rebase
브랜치를 다른 브랜치 위로 옮겨서 재정렬한다. 기존의 커밋 히스토리를 재작성한다.
특징
- 깔끔한 히스토리를 유지할 수 있다.
- 충돌 해결이 병합 과정에서보다 복잡할 수 있다.
- 히스토리가 재작성되므로 공개된 브랜치에서는 사용하지 않는 것이 권장된다.
'CS' 카테고리의 다른 글
Git Flow 브랜치 전략 (2) | 2024.06.08 |
---|---|
Cascading이란? (0) | 2024.05.25 |