고급 Git 기록 편집: 커밋 수정 및 대화형 리베이스
`git commit --amend` 및 `git rebase -i`와 같은 강력한 Git 명령어를 사용하여 커밋 메시지를 다듬고, 커밋을 스쿼시(squash)하며, 프로젝트 기록을 깔끔하게 정리하는 방법을 알아봅니다.
Git을 사용하다 보면 실수로 커밋 메시지를 잘못 작성하거나, 불필요한 커밋이 너무 많이 쌓이는 경우가 있습니다. 이 글에서는 Git 기록을 깔끔하게 유지하기 위한 고급 기술인 git commit --amend와 git rebase -i에 대해 알아봅니다.
1. 커밋 수정하기: git commit --amend
가장 최근의 커밋을 수정해야 할 때 사용합니다. 커밋 메시지를 변경하거나, 깜빡하고 포함하지 않은 파일을 추가할 때 유용합니다.
# 커밋 메시지 수정
git commit --amend -m "새로운 커밋 메시지"
# 변경 사항을 이전 커밋에 추가
git add .
git commit --amend --no-edit
2. 대화형 리베이스: git rebase -i
여러 커밋을 하나로 합치거나(squash), 순서를 변경하거나, 특정 커밋을 삭제할 때 사용합니다.
# 최근 3개의 커밋을 대화형으로 수정
git rebase -i HEAD~3
명령어를 실행하면 텍스트 편집기가 열리며, 각 커밋 앞에 명령어를 입력하여 기록을 재구성할 수 있습니다.
pick: 커밋 유지squash(또는s): 이전 커밋과 합치기drop(또는d): 커밋 삭제
이러한 도구들을 적절히 활용하면 프로젝트의 커밋 히스토리를 훨씬 더 읽기 쉽고 체계적으로 관리할 수 있습니다.