최근에 깃허브에 커밋을 꽤 많이 하면서(사실 수업들으면서 정리한 것이랑 백준 문제 푼게 다지만) 커밋 메시지를 규칙적으로(?) 작성하는 버릇을 들이고 있는데 그 규칙이 마음에 안들어서(🤔) 커밋 메시지를 수정하고자 했을 때 찾았던 명령어들을 정리해 두었다.
git commit --amend
위와 같이 작성할 경우 가장 마지막에 commit한 내용을 수정할 수 있다.
이후 창이 뜨면 i
로 insert할 수 있고, 내용을 수정하고 나서는 esc
->:wq!
로 빠져나올 수 있다.
git rebase HEAD~3 -i
이 명령어를 사용하면 최근 3개의 커밋 목록이 나온다. (5개를 확인하고 싶으면 HEAD~5
이런식으로 작성하면 됨)
참고로 unstaged changes
가 있을 경우 rebase
에 진입을 할 수 없으니 commit
후 접근하도록 하자.
아무튼 rebase
에 진입하게 되면 이렇게 뜰 것이다.
여기서 i
를 눌러 insert를 하고, 커밋 메시지를 수정하고 싶은 pick
부분을 reword
로 바꿔주면 된다.
이렇게 하고 마찬가지로 esc
->:wq!
로 빠져나올 수 있음.
이 이후에 뜨는 창에서 제목을 수정해주면 된다. 여러 개를 바꿨을 경우 차례대로 수정할 메시지가 뜨니 차근차근 진행하면 됨.
깃허브에 올린 커밋 메시지가 마음에 안들어서 수정 방법을 찾아봤을 때 사용한 명령어이다. force
를 통해 수정된 커밋을 강제로 push
해주는 방법이다.
참고로 권장되는 방법은 아니다. push
된 커밋의 로그를 갖고 있던 다른 팀원들이 로그를 수동으로 수정해줘야 하기 때문이라고.. 깃허브로 협업을 진행하는 경우 커밋 메시지를 아주 잘 확인하고 push
를 하도록 하자..👍
나는 개인으로 사용하는, 공부한 걸 정리해두는 레포지토리였기때문에 사용한 방법이다.
1-1번과 똑같이 rebase
로 진입해서 수정하고 싶은 메시지를 수정하는 것 까지 동일하게 진행한다. 그 이후에
git push origin '브랜치명' --force
을 진행해주고 깃허브를 확인하면 메시지가 잘 수정된 것을 확인할 수 있다.