배경
팀 프로젝트를 진행하면서 커밋 히스토리가 지저분해지는 문제를 겪었다. 특히 merge commit이 많아지면서 히스토리를 읽기 어려워졌다.
배운 것
Interactive Rebase
git rebase -i 명령어를 사용하면 여러 커밋을 하나로 합치거나(squash), 커밋 메시지를 수정하거나, 커밋 순서를 변경할 수 있다.
git rebase -i HEAD~3
Rebase vs Merge
- Merge: 브랜치의 히스토리를 그대로 보존
- Rebase: 깔끔한 선형 히스토리 유지
주의사항
이미 원격에 push한 커밋은 rebase하지 말 것!
공유된 브랜치에서 rebase를 하면 다른 개발자들에게 큰 혼란을 줄 수 있다.
느낀 점
처음에는 rebase가 무섭게 느껴졌는데, 실제로 사용해보니 커밋 히스토리를 깔끔하게 유지하는 데 매우 유용했다. 앞으로 feature 브랜치 작업 시 적극적으로 활용해볼 예정이다.