git push 를 하고 난 후, commit message를 잘못 작성했다는 것을 알게 되고 수정하고 싶었던 경험이 있었을 것이다. 아래 방법을 사용하면 간단하게 잘못 작성해 이미 push 된 commit message를 수정할 수 있다.
주의 사항
아래 내용은 강제적으로 push 하는 방법이다.
--force
,-f
명령어는 원격 저장소의 commit들이 유실될 수 있어 굉장히 조심히 사용해야한다. 원격의 내용을 덮어쓰기 때문에 다른 팀원들이 이미 Local 에 가져갔다면, 가지고 있는 commit log 메시지는 수동으로 수정해야 하는 경우가 발생할 수도 있기 때문에 조심해서 사용하는게 좋다.
rebase 명령어를 통해 되돌리고 싶은 커밋을 가져온다.
$ git reabse HEAD~{되돌리고 싶은 커밋 개수} -i
# example) 바로 전 커밋 메시지를 되돌리고 싶다.
$ git rebase HEAR~1 -i
rebase 명령어를 실행하고 나면 긴 문구가 출력될 것이다.
i
를 눌러 편집 모드로 변경한 후, 첫번째 줄에 있는 "pick" 문구를 "reword" 로 변경한다. (reword 는 내용을 그대로 둔 뒤 커밋 메시지만을 수정하는 명령이다.)
수정을 완료했다면 esc
→ :wq
를 눌러 내용을 저장한다.
위와 같이 reword로 변경하고 저장하면, 잘못 작성한 commit message가 기록되어 있는 화면이 보일 것이다. 여기서 커밋 메시지를 수정한다.
i 를 눌러 편집 모드
→ commit message 수정
→ esc
→ :wq
-f
옵션을 통해 현재 branch 에 강제로 다시 PUSH 를 진행한다.
$ git push origin {branch_name} -f