티스토리 뷰
계기
전에 commit 하였던 message가 다시 보니 마음에 들지 않아 수정을 해야겠다는 생각을 하였습니다. 가장 최근에 commit을 했다면 git commit --amend
를 통해 수정을 할 수 있었겠지만 가장 최근에 한 것이 아니어서 다른 방법을 통해 수정을 해야만 했습니다.
git rebase -i HEAD~[number]
git rebase -i HEAD~10
git rebase -i HEAD~10
명령어를 입력하면 위 이미지와 같은 창이 나옵니다.
HEAD는 첫 번째를 의미하고 10은 HEAD를 포함하여 시작하여 10번째 commit 항목을 의미합니다. 여기서 2,3,7번째 항목의 commit message를 바꾸기 위하여 pick
을 reword
으로 수정을 하였습니다.
pick -> reword
pick
에서 reword
으로 수정을 마친후 vim 에디터를 사용 중이므로 :wq
를 통해서 저장 후 빠져나옵니다.
빠져나온다면 바로 pick
을 reword
로 바꾼 항목에 해당하는 창이 나옵니다. 수정 후 :wq
를 하여 빠져나오면 차례대로 reword
로 바꾼 항목들에 해당하는 창이 순차적으로 나옵니다. 즉 reword
로 바꾼 항목의 수만큼 창이 연달아 나옵니다.
git push --force origin master
git log --online --decoreate --graph | glog
glog
명령어를 통하여 log를 확인해보니 수정된 항목들이 새로 commit이 되어있는 것을 알 수 있습니다.
git push --force origin master
명령어 실행 후 glog
를 실행해 log를 확인해보니 깔끔하게 수정한대로 정리가 되어 올라가있는 것을 알 수 있습니다.
conclusion
git rebase -i HEAD~[number]
실행 후 pick -> edit 으로 바꾸는 것과 과정을 비교해보니 pick -> reword 로 하는 것은 위 이미지와 같이 pick -> edit 의 과정인 git commit --amend
와 git rebase --continue
명령어를 실행시킬 필요가 없이 간단하였습니다.
edit
의 stop for amending 즉 개정하기 위해 멈추는 것이고, reword
의 edit the commit message 즉 커밋 메시지를 편집하는 것의 차이여서 edit을 할 때는 git commit --amend
와 git rebase --continue
와 같은 과정을 거쳐야 하는 것이고, reword
는 그렇지 않다는 생각을 하였습니다.
'Git' 카테고리의 다른 글
[Git] Fork repository 최신화하기 (0) | 2022.03.02 |
---|---|
[Git] GitHub Personal access token 생성 및 사용하기 (0) | 2021.10.21 |
[Git] 이전 commit message 수정하기(edit) (0) | 2021.07.11 |
[Git] commit message 효율적으로 작성하기 (0) | 2021.05.17 |
[Git] oh-my-zsh에서 활용할 수 있는 git 단축어 모음집 (0) | 2021.05.16 |
[Git] git과 github 사용하기 (0) | 2021.04.24 |