티스토리 뷰
Introduction
전에 commit 하였던 message가 다시 보니 마음에 들지 않아 수정을 해야겠다는 생각을 하였습니다. 가장 최근에 commit을 했다면 git commit --amend
를 통해 수정을 할 수 있었겠지만 가장 최근에 한 것이 아닌 HEAD로부터 3번째 항목이이서 다른 방법을 통해 수정을 해야만 했습니다.
git rebase -i HEAD~[number]
git rebase -i HEAD~5
git rebase -i HEAD~5
명령어를 입력하면 위 사진과 같은 화면이 나옵니다.
HEAD는 첫 번째를 의미하고 5는 HEAD를 포함하여 시작하여 5번째 commit 항목을 의미합니다. 여기서 3번째 항목의 commit message를 바꾸기 위하여 pick
을 edit
으로 수정을 합니다.
pick -> edit
pick
에서 edit
으로 수정을 마친후 vim 에디터를 사용 중이므로 :wq
를 통해서 저장 후 빠져나옵니다.
빠져나온다면 위와 같은 화면을 보실 수 있습니다. master
가 - 87760db >R>
로 바뀐 것을 볼 수 있습니다. 그리고 git commit --amend
를 통해 edit
한 항목에 대해 수정을 하고 git rebase --continue
를 하면 된다는 것 또한 알 수 있습니다.
git commit --amend
git commit --amend
기존에는 가장 최근 commit message를 수정할 때 사용하였으나 git rebase -i HEAD~5
를 통해 pick
을 edit
으로 수정하였으므로 이에 대해 수정을 할 수 있습니다. 자신이 수정하고 싶은 message를 입력하고 :wq
를 통해 저장후 빠져나옵니다.
git rebase --continue
git rebase --continue
git rebase --continue
를 통해 커밋을 적용시킵니다. 다른 항목을 수정하고 싶다면 위와 같은 과정을 반복하면 됩니다.
git log --stat
git log --stat | gst
git log --stat
즉 gst
를 통해 log를 확인해보니 정상적으로 수정을 완료하였다는 것을 알 수 있습니다.
git push --force origin master
git push --force origin master
이미 github에 push한 상태로 commit message를 수정한 것이므로 git push --force origin master
를 통해 다시 push를 함으로써 재정렬해줍니다.
conclusion
해당하는 github repository로 이동을 해보니 제가 원하는대로 commit message가 변경된 것을 알 수 있었습니다.
참고 : git-scm
'Git' 카테고리의 다른 글
[Git] Fork repository 최신화하기 (0) | 2022.03.02 |
---|---|
[Git] GitHub Personal access token 생성 및 사용하기 (0) | 2021.10.21 |
[Git] 이전 commit message 수정하기(reword) (0) | 2021.08.09 |
[Git] commit message 효율적으로 작성하기 (0) | 2021.05.17 |
[Git] oh-my-zsh에서 활용할 수 있는 git 단축어 모음집 (0) | 2021.05.16 |
[Git] git과 github 사용하기 (0) | 2021.04.24 |