이미 push 한 git commit 메세지를 변경하고 싶다면?

이슈번호를 잘못 달거나 기타 이유들로 커밋 메세지 변경이 필요하다면?

  1. 마지막 커밋 메세지를 변경하는 경우
    $ git commit --amend -m “원하는 변경 내용 입력 하기”
    $ git push origin [브랜치명] -f
    로 변경 내용을 강제로 푸시하면 끝!

  2. git rebase 이용하기
    $ git rebase -i HEAD~[거슬러 올라갈 커밋의 수]
    를 입력하게 되면 다음과 같은 편집창이 뜨는데

pick a207(커밋아이디줄임) 기존 커밋 메세지
pick 4823(커밋아이디줄임) 기존 커밋 메세지
pick 83fc(커밋아이디줄임) 기존 커밋 메세지

# Rebase 어쩌구1…어쩌구 onto 어쩌구1 (3 commands)
#
# Commands:
# p, pick = use commit
# r, reword = use commit, but edit the commit message
# e, edit = use commit, but stop for amending
# s, squash = use commit, but meld into previous commit
# f, fixup = like “squash”, but discard this commit’s log message
# x, exec = run command (the rest of the line) using shell
# d, drop = remove commit
# …
이때 변경하길 원하는 커밋은 i로 입력모드에 들어가 pick을 reword 로 변경해 esc :wq를 통해 이 편집창을 빠져나가, reword로 변경한 커밋 메세지들의 편집창에 차례로 들어가게 됨 (보이는 것과 같이 reword는 커밋 메세지만을 변경함)

그럼 기존 커밋 메세지를 i로 입력모드에 들어가 변경하고 마찬가지로 esc :wq를 통해 이 편집창을 빠져나가면 됨

$ git push origin [브랜치명] -f 혹은 $ git push origin [브랜치명] --force-with-lease 등으로 변경 내용을 강제로 푸시하면 끝!

만약 rebase 과정 중에 충돌이 일어나는 경우
$ git rebase --abort 를 통해 rebase 이전상태로 돌려 작업이 가능하며, 충돌 해결 이후
$ git rebase --continue 나 $ git rebase --skip 을 진행해주면 됨

좋아요 4

오 맨날 까먹는 내용인데 유용하네요~~!!

좋아요 1