我在过去的提交消息中拼错了一些字,想要修复它们。
他们不是来自最后一次提交(5次提交之前)所以--amend
在这里没有工作。
解决这个错误的最简单方法是什么?
答案 0 :(得分:3)
使用git log --oneline
确定要更改的提交。
$ git log --oneline
5ebe0d0 foo
66096c8 bar
d83d7a7 *typo*
a9f4c59 baz
...
然后对该提交的父级进行交互式rebase(使用^
标识)。
$ git rebase --interactive 'd83d7a7^'
这应启动默认编辑器 - 除非您已更改它,否则为vim。
(这适用于那些对vim不太满意的人。)
按 c w 并输入单词edit
。按 esc 并键入:wq
以保存并退出文件。
现在您所要做的就是git commit --amend
,系统会提示您编辑提交消息。然后使用git rebase --continue
完成rebase。
注意:如果您有任何合并历史记录,这会使其变平。如果您真的不想这样做,请使用--preserve-merges
选项git rebase
(以及--interactive
)。