我在过去的提交消息中拼错了一些单词,想更正它们。
它们不是来自最后一次提交(5 次提交之前),所以 --amend
在这里不起作用。
修复此错误的最简单方法是什么?
最佳答案
使用 git log --oneline
确定要更改的提交。
$ git log --oneline
5ebe0d0 foo
66096c8 bar
d83d7a7 *typo*
a9f4c59 baz
...
然后对该提交的父级进行交互式 rebase (用 ^
标识)。
$ git rebase --interactive 'd83d7a7^'
这应该会启动默认编辑器——除非您更改它,否则它就是 vim。
(这是为不太熟悉 vim 的人准备的。)
按 cw 并输入单词 edit
。按 esc 并输入 :wq
以保存并退出文件。
现在您所要做的就是 git commit --amend
,系统会提示您编辑提交消息。然后使用 git rebase --continue
完成 rebase。
注意:如果您有任何 merge 历史,这会将其展平。如果您真的不想这样做,请使用 --preserve-merges
选项和 git rebase
(以及--interactive
)。
关于git - 编辑过去的提交消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38555291/