Git- commit message를 바꿔보자

TL;DR

  1. 가장 최근의 커밋 메시지를 바꾸고 싶다면, git commit --amend -m"새로운 커밋 메시지"를 이용하자.

  2. 여러 개의 커밋 메시지를 바꾸고 싶다면,
    2-1) git rebase HEAD~[거슬러 올라가고 싶은 커밋 수]-i를 입력한다.
    2-2) pick -> reword로 바꾼 후, 커밋 메시지를 수정하고,:wq!를 입력한다.
    2-3)git rebase --continue를 입력하여 여러 개의 커밋 메시지를 수정하기를 반복한다.


Git 커밋 메시지는 나중에 이슈가 발생했을 때 이슈 트래킹이 가능해야 한다.
따라서 커밋 메시지를 잘못 작성했을 때(다른 메시지 내용으로 바꾸고 싶거나 오타가 나서 바꿔야 하는 경우) 수정할 필요가 있다.

커밋 메시지를 바꾸는 방법에 대해 알아보도록 하자.

가장 최근의 커밋 메시지를 바꾸고 싶을 경우

가장 최근의 커밋 메시지를 바꾸고 싶을 경우에는 git commit --amend -m"새로운 커밋 메시지"을 이용해서 수정하면 된다.

1
git commit -amend -m"새로운 커밋 메시지"

-1은 이전 단계의 커밋 1개의 내용을 출력한다.
이를 이용해, 수정한 후에는 가장 최근의 커밋 내용을 출력해서 커밋 메시지가 수정되었는지 확인해 보자.

1
git log-1

여러 개의 커밋 메시지를 바꾸고 싶을 경우

  1. .git 파일이 있는 폴더로 이동한다.
  2. git rebase HEAD~[거슬러 올라가고 싶은 커밋 수]-i 명령어를 입력한다.
1
git rebase HEAD~[거슬러 올라가고 싶은 커밋 수] -i

예를 들어,

2-1) 가장 최근의 커밋 메시지 1개를 수정하고 싶은 경우

1
git rebase HEAD~1 -i

2-2) 가장 최근 3개의 커밋 메시지를 수정하고 싶을 경우

1
git rebase HEAD~3 -i
  1. rebase를 하고 난 후,
    3-1) 바꾸고자 하는 커밋 내역을 pick에서 reword로 변경해준다.

    pick으로 되어 있는 커밋 메시지
    pick을 reword로 변경한다


3-2) 커밋 메시지가 기록되어 있는 화면이 나오면,
i를 입력하여 편집 모드로 변경하고 커밋메시지를 수정한다.
수정을 다 한 후에는 ESC를 누르고, :wq!를 입력하여 수정한 사항을 반영한다.

커밋메시지가 기록되어 있는 화면

  1. 아래의 명령어를 입력한 뒤, 나머지의 커밋들을 수정하려면 pick -> reword -> :wq!를 반복한다.
1
git rebase --continue
  1. 만약 원격 저장소에 이미 push한 커밋 메시지라면,
    강제 push를 하여 수정된 커밋 메시지를 원격 저장소에 반영한다.

    단, 강제 push를 사용할 경우, 커밋 메시지를 바꾸려는 시점부터 최근 시점까지 커밋한 파일들을 건드리고 Commit ID를 바꾸게 되어 다른 사람과 충돌날 확률이 매우 높으니 주의하자.

1
git push --f

참고