2014-01-24 111 views
2

有沒有更簡單的方法來編輯提交日誌? (如紅色箭頭指向的日誌)如何編輯很久以前在提交日誌之前提交日誌

如果是,如何在命令行或gittower中執行此操作?

謝謝! enter image description here

+0

改變它會弄糟整個歷史(自從那個提交以來),並且使已經擁有存儲庫克隆的每個人都感到痛苦,不包括你。 –

+0

如果日誌沒有推送到服務器會怎麼樣? – newBike

+1

可能的重複[如何在Git中編輯不正確的提交消息?](http://stackoverflow.com/questions/179123/how-do-i-edit-an-incorrect-commit-message-in-git) – krlmlr

回答

1

沒有,沒有一個簡單的方法來做到這一點(並不是說沒有辦法,但它圍繞改變每一個違規後提交提交)。

Git最初的目的是讓它很難改變歷史。下次更好地執行描述規則。 (您可以使用掛鉤執行基本檢查)。

2

只要你還沒有推到服務器,你可以使用:

git rebase -i f88232a^ 

這將交互式衍合所有提交開始f88232a。 ^是告訴git使用f88232a之前的提交作爲rebase操作的根。當你運行這個命令,你會看到類似這樣的:

pick f88232a Update 
pick 57bfaca Change, redirect to index after finishing create 
pick d23c917 Add missing column: result 
... 

更改第一pickeedit。現在,你會看到

Stopped at f88232a... Update 
You can amend the commit now, with 

    git commit --amend 

Once you are satisfied with your changes, run 

    git rebase --continue 

現在運行

git commit --amend 

更改提交信息&保存,然後運行

git rebase --continue 

瞧!請注意,您正在重寫歷史記錄,直至f88232a。從f88232a到現在的每個提交都將被一個帶有新SHA的新提交所替代。如果你有任何分支機構,這將變得很難看,因爲這些分支機構將基於舊的承諾。但它應該做的伎倆。