比如我现在执行 git log --oneline
看到的效果是:
1ef5721 (HEAD -> master) 6.16.11
a44a935 6.11.10
28eddec 6.16.9
eeef048 6.11.8
ede1ebe 6.16.7
73f569d 6.16.6
然后我发现第2行还有倒数第3行的提交信息不对。我想修改一下,该怎么做呢?
幸好这些代码还没有执行 git push origin xxx
的操作。
首先,不要执行 git commit --amend -C a44a935
这样的操作。这样的确可以修改之前的 commit message
信息,但是也会让 a44a935
跑到HEAD
的位置。
然后,正确的做法是执行 git rebase -i
. 这时候进入到交互式命令中了。但是不要害怕,你不操作,是不会有任何坏的影响的。
这时候,在交互式命令中,界面大概是这样的:
(目前我的是已经更正过之后的 git rebase -i
的界面,更正之前的和现在的区别就是第二行还有倒数第三行的 commit message
不同。)
在这个界面,可以指定需要二次编辑的commit message
,操作很简单,每条commit
前面都有一个pick
,但是我们是要重新编辑。看下面的注释,可以看出来,应该把需要修改的那一条 commit
前面的 pick
改成 r
或者reword
. 然后保存退出改界面。
退出之后,git bash
自动进入到对应的commit
的--amend
界面。然后在这里重新编辑一下,然后保存退出,就可以了。
另外,
git rebase -i
只应该对还没有push
的代码进行操作。否则后续的push
会失败。