커밋 메시지를 작성할때 썼다가 지웠다가 반복하면 push하고 나서 확인해보면 원하던대로 안나오는 경우가 있었다 ... (아래 예시)
이렇게 커밋 메시지를 잘못입력하는 경우 아래 방법들을 통해서 commit 메시지를 수정할 수 있다.
1. 마지막 커밋 메시지 수정 (무조건 마지막만 가능)
git commit --amend -m "수정할 커밋 메시지"
2. 이전 커밋 메시지 수정
만약 마지막 commit 메시지가 아니라 이전의 커밋 메시지인 경우에는 rebase 명령을 사용해야한다.
이 방법은 rebase 명령을 통해 해당 commit 메시지로 이동한 후 수정하고 다시 merge 하는 방식이다.
git rebase -i HEAD~[이동할 커밋 수 만큼]
git rebase -i HEAD~1 //최근 Commit 1개 불러옴
- 이렇게 명령어를 입력하면 편집기가 켜진다.
- 수정하고자 하는 commit의 pick을 reward로 수정한후 :wq 입력하면 된다.
(이때 편집 모드로 전환하고자 할 때는 i , 커맨드 모드로 전환하고자 하면 esc 키를 사용)
3. 그러고나면 변경 사항에 대한 커밋 메시지를 입력하라는 메시지가 나온다.
4. 수정하고 :wq 로 저장하고 종료하면 된다.
3. 이미 push한 커밋 메시지 수정하기 (권장되지 않음)
git push --force [브랜치명]
으로 강제로 덮어쓰는 방법이 있다.
4. 이미 push한 커밋 메시지 수정하기 - 2 (권장)
위의 방법들 중 제일 첫번째 방법으로 커밋 메시지를 수정한 후 push 하니
(Updates were rejected because the tip of your current branch is behind ) 라는 오류 메시지가 발생했다.
git push origin [브랜치명] -f
git push --force [브랜치명]
git push -u origin +[브랜치명]
등등의 방법이 있었지만 이 방법들을 사용하면 기존에 커밋했던 코드들이 유실될 수 있는 위험이 있다하여
git pull 후 다시 push 해주었다. 결과는 성공 :-)
레퍼런스)
[Git] 이미 commit한 메세지 수정하기📍 - 바로 이전/그 전/리모트 commit
이미 commit한 메세지 수정하기 Git 사용 중 commit를 할 때는 꼭 메시지를 입력하게 됩니다. 때때로 오타를 입력하거나 commit한 후에 메시지를 수정하고 싶은 경우가 있을 때가 있습니다. 세가지
xtring-dev.tistory.com