2016-07-24 93 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

謝謝!正是我在找什麼! –