git merge vs git rebase
merge는 이력을 그대로 합치고, rebase는 커밋을 다시 쌓아 일직선 이력을 만듭니다.
브랜치의 변경을 합치는 두 방식입니다. 커밋 이력의 모양이 달라집니다.
| 구분 | git merge | git rebase |
|---|---|---|
| 이력 모양 | 분기 보존(머지 커밋) | 일직선(깔끔) |
| 안전성 | 높음 | 주의 필요 |
| 공유 브랜치 | 안전 | 피해야 함 |
| 충돌 해결 | 한 번 | 커밋마다 가능 |
git merge를 쓸 때
실제 작업 흐름을 그대로 남기고 싶거나 공유 브랜치를 합칠 때 사용합니다.
git rebase를 쓸 때
내 로컬 브랜치 이력을 깔끔하게 정리해 올리고 싶을 때 사용합니다.
결론
공유된 커밋은 merge, 아직 안 올린 내 커밋 정리는 rebase가 원칙입니다. "이미 push한 건 rebase하지 않는다"를 기억하세요.
← 개발 개념 비교 전체 보기