当我们提交了一个commit之后突然发现这个commit或者历史上的某一commit注释有问题,表达不清或者是单词拼写错误的情况下,很害怕被老大同事鄙视,可以趁着没有pust赶紧修改过来时就可以用这种方式。
修改最新的commit
这个比较简单,一般我们会使用git commit --amend命令进行修改直接保存退出就可以了.注意(这个不只是对注释进行了修改,commit的hash值也会跟着改动)。
修改历史commit
这个相对复杂一些,需要使用rebase命令配合
git rebase -i hashValue or HEAD~n
这是系统会自动打开编辑器,在编辑器中可以看到从上到下分别是从这个commit继续向下的commit列表。想修改某个分支就直接将原来的pick换成edit,保存退出。
这时会看到已经到你想要编辑的那个commit上了
然后再执行
git commit --amend
打开编辑器后修改注释,退出编辑器。这时候当然要回去了,不能使用reflog,而是使用
git rebase --continue
就回到最新commit了