개인프로젝트 하다가 기능 여러가지 추가하고 commit하려는데
실수로 다 작성 못한 메세지가 commit되었다😰
나같은 경우 local에서 commit한 상태라 명령어 없이도 가능하고 명령어도 쉬워서 두 가지 다 정리해보려고 한다
추가로 직전 commit이 아니라 그 전의 commit 수정하기, local이 아니라 remote에 push까지 했을 경우 commit 메세지를 수정하는 법까지 정리해보겠다
1. local에서 commit한 상태인 경우
1) : intellij 기능 사용해서 메세지 수정하기
하단 log에 커밋 메세지 우클릭 - Edit Commit Message 클릭
여기서 쉽게 수정하면 된다 :)
2) git bash에서 명령어로 메세지 수정하기
(주의할 점 : 가장 최근의 commit 메세지 1개 수정가능 - 가장 최근 commit 말고 그 전의 commit 수정하고 싶을 땐 4번 참조)
1. git commit --amend
2. git commit --amend -m "수정 메시지"
1.의 경우 vi 터미널에서 메시지 수정후 wq로 저장해야하고 2.의 경우 터미널 내에서 즉시 수정 가능하다
2. local에서 commit했고 remote저장소에 push까지 한 경우
commit 메시지 수정 방법은 위와 동일하고 원격 저장소에 --force 옵션을 사용해 강제로 push 해줘야 한다.
git push --force 원격저장소이름 브랜치이름
근데 force 자체가 굉장히 위험한 옵션이라 사용에 정말 주의⚠️⚠️
3. 가장 최근 commit 메시지 1개 이외에 이전 커밋 메시지를 수정하고 싶을 때
git rebase -i HEAD~n
최근 n개 커밋 메시지까지 수정 가능
최근 3개 커밋 메시지를 수정하고 싶다면 => git rebase -i HEAD~3
vi 터미널에서 i를 입력해 vi 입력 모드로 전환 후 커밋 메시지를 수정
커밋 메시지 수정 완료 후에는 esc를 누르고 :wq를 입력해 저장 및 종료까지..!
'GIT & GITHUB' 카테고리의 다른 글
[git] ! [rejected] main-> main(non-fast-forward) error: failed to push some refs to 'https://github.com/~' 오류 해결 방법 (1) | 2024.02.12 |
---|---|
commit convention 총정리 및 중요한 이유 (0) | 2024.02.10 |
git init, status, .gitignore, add (0) | 2024.01.09 |