Dev/VCS

Git merge vs rebase

dragonhyeon 2025. 5. 12. 16:59
728x90
반응형
Git Flow 브랜칭 전략을 전제로 합니다. develop 브랜치에서 feature 브랜치로 분기한 상황입니다.

 

feature 브랜치 개발 완료 후 develop 에 merge 시, develop 에 이미 새로운 커밋 이력이 생겨있는 경우

  • merge 사용이 일반적
  • 히스토리를 그대로 보존하므로, 이력이 안전하게 남고 협업에 적합
  • merge 정책에 따라 rebase 혹은 squash 를 사용할 수 도 있지만 기본적으로는 merge 사용

feature 브랜치에서 개발 진행중에 develop 에서 코드 수정이 발생해 수정된 develop 코드 기반에서 개발을 이어가야 하는 경우

  • rebase 사용이 일반적
  • 커밋 히스토리가 깔끔해지고, develop 의 최신 상태를 기반으로 개발 가능
  • merge 를 사용하면 불필요한 병합 커밋이 생기고, feature 브랜치 히스토리도 복잡해질 수 있음
728x90
반응형