今天提交代码时遇到一个问题:发现把commit的注释写错了,并且已经push了。这里记录一下解决办法。
commit未push
针对还未push的commit,通过参数--amend即可修改最近一次commit注释。
git commit --amend
然后在出现的编辑页面中输入新的commit注释即可
commit已经push
针对已经push的commit,只能通过rebase来修改。
git rebase -i HEAD~2
表示要修改倒数第二次commit的状态,执行后在编辑页面顶部中会出现
pick:>序列号1 倒数第一次的commit注释
pick:>序列号2 倒数第二次的commit注释
这里将想要修改注释所对应的pick改为edit,保存退出。此时再通过git log -n 2就会发现序列号2变成了最近的提交。
再使用git commit --amend修改注释,这里相比未push多了两个步骤:
git rebase --continue
git push --force
如果没有最后的push,仅仅是在本地修改了commit注释,要想同步到远端,必须强制push。