정리하고 싶지 않았지만 자꾸 찾아보게 되고... 안 찾고 기억을 더듬어 마음대로 하다가 하루종일 작업한 내용을 날릴 뻔하여 부랴부랴 정리하게 된 커밋 메시지 수정 방법에 관한 글이다.
방법
현재 브랜치의 마지막 커밋 메시지를 수정하기
git commit --amend
위 명령을 입력하면 마지막 커밋 메시지를 수정할 수 있다. 메시지를 원하는 대로 수정한 후 저장하고 종료(:wq!)하면 커밋 메시지가 변경된다.
이전 커밋 메시지 수정하기 (예: 마지막 3개의 커밋)
git rebase -i HEAD~3
위 명령을 실행하면 아래와 같은 목록이 열린다.
pick abcdef1 커밋 메시지 1
pick bcdefg2 커밋 메시지 2
pick cdefgh3 커밋 메시지 3
여기서 수정하고 싶은 커밋 앞의 pick을 reword(또는 줄여서 r)로 변경한다.
pick abcdef1 커밋 메시지 1
reword bcdefg2 커밋 메시지 2 # 여기서 커밋 메시지를 수정할 예정
pick cdefgh3 커밋 메시지 3
파일을 저장하고 종료하면, Git이 선택한 커밋들의 메시지를 수정할 수 있는 상태로 들어간다.
커밋 메시지 2
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# Date: Wed Jan 22 14:30:38 2025 +0900
...
메시지를 원하는 대로 수정한 후 저장하고 종료(:wq!)하면 커밋 메시지가 변경된다.
주의사항
커밋 메시지를 수정하면 커밋의 해시 값이 변경된다.
이미 공유된 커밋의 메시지를 변경할 경우, 다른 사용자와 충돌이 발생할 수 있으니 주의해야 한다.
특히 원격 저장소에 푸시된 커밋을 수정할 경우 강제 푸시(git push --force)가 필요하므로 신중하게 처리해야 한다.