• 브랜치 병합 (Branch Merge)

    • 정의:
      • 두 개의 브랜치를 합치는 행위
    • Git은 3개의 브랜치 병합 기능을 제공한다.
      • Merge
      • Merge and Squash
      • Rebase
  • Merge

    1.jpg

    • 대상 브랜치의 변경 사항이 타겟 브랜치에 반영된다.
    • 기존 커밋 히스토리는 유지되지만, 병합 과정에서 추가적인 merge commit이 생성된다.
  • Merge Squash

    2.jpg

    • 대상 브랜치의 모든 커밋을 모아서 하나의 커밋으로 합친 후, 타겟 브랜치에 머지한다.
    • 중간 히스토릴르 삭제하고 최종 변경 사항만 남긴다는 점에서 단순 Merge와 차이가 있다.
  • Rebase

    3.jpg

    • 현재 브랜치를 병합 대상 브랜치의 최신 커밋 위로 재배치한다. (말 그대로 브랜치의 베이스를 변경한다.)
    • 히스토리가 깔끔하게 변경되지만, 기존 커밋의 해시값이 변경되버리므로 상당한 주의가 필요하다.