CS

Git에서 Branch Merge 방법들과 각 방법의 특징

junzerokim 2024. 6. 8. 13:42

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