2016-07-24 99 views
2

我在过去的提交信息中拼写了一些单词并想修复它们。 他们不是来自上次提交(5次提交前),所以--amend在这里不起作用。编辑过去的提交信息

解决这个错误最简单的方法是什么?

+0

你可以使用这个工具:https://git-scm.com/docs/git-filter-branch(这是很难处理,所以我会建议寻找一个教程 - 其中许多可以在GitHub帮助网站) – TuringTux

+0

你应该重新绑定到旧的通信,然后修改它。 – Shravan40

+0

git rebase -i HEAD〜5 –

回答

2

通过git log --oneline确定要更改的提交。

$ git log --oneline 
5ebe0d0 foo 
66096c8 bar 
d83d7a7 *typo* 
a9f4c59 baz 
... 

然后执行交互式底垫到的该提交的父(与^识别)。

$ git rebase --interactive 'd83d7a7^' 

这应该启动默认的编辑器 - 除非你改变它,否则是vim。


(这是为那些用vim不太舒服。)

Ç瓦特和键入单词edit。按esc并键入:wq保存并退出文件。


现在您只需要输入git commit --amend,系统会提示您编辑提交消息。然后用git rebase --continue完成rebase。

注意:如果您有任何合并历史记录,这将使其变平。如果你真的不想要这个,请使用--preserve-merges选项git rebase(以及--interactive)。

+0

谢谢!正是我在找什么! –