Fast-Forward 와 3-way Merge

이의준·2024년 5월 21일
0

Git & GitHub

목록 보기
7/7

Fast-Forward

  • 병합할 브랜치가 하나의 연속된 커밋 내역을 갖고 있을때 사용
  • 이 경우, 브랜치를 병합하면 단순히 현재 브랜치를 병합할 브랜치의 끝으로 이동시키기만 하면 됨
# main 브랜치의 초기 상태
A---B---C  (main)

# feature 브랜치에서 커밋
A---B---C
         \
          D---E  (feature)
git checkout mains
git merge feature
# 병합 후 (fast-forward)
A---B---C---D---E  (main, feature)

실습

3-Way Merge

  • 두 브랜치가 공통 조상에서 분기되고 각각 독립적으로 변경된 경우 사용
  • 이 방식은 공통 조상(commit), 현재 브랜치의 마지막 커밋, 병합할 브랜치의 마지막 커밋을 사용하여 병합
# main 브랜치의 초기 상태
A---B---C  (main)
     \
      D---E  (feature)
git checkout main
git merge feature
# 병합 후 (3-way merge)
A---B---C------M  (main)
     \       /
      D---E  (feature)

실습

0개의 댓글