dev.syw
도구 · 협업

git merge vs git rebase

merge는 이력을 그대로 합치고, rebase는 커밋을 다시 쌓아 일직선 이력을 만듭니다.

브랜치의 변경을 합치는 두 방식입니다. 커밋 이력의 모양이 달라집니다.

구분git mergegit rebase
이력 모양분기 보존(머지 커밋)일직선(깔끔)
안전성높음주의 필요
공유 브랜치안전피해야 함
충돌 해결한 번커밋마다 가능

git merge를 쓸 때

실제 작업 흐름을 그대로 남기고 싶거나 공유 브랜치를 합칠 때 사용합니다.

git rebase를 쓸 때

내 로컬 브랜치 이력을 깔끔하게 정리해 올리고 싶을 때 사용합니다.

결론

공유된 커밋은 merge, 아직 안 올린 내 커밋 정리는 rebase가 원칙입니다. "이미 push한 건 rebase하지 않는다"를 기억하세요.

← 개발 개념 비교 전체 보기