2013-08-19 64 views
0

如果我做了git的承諾--amend幾次在同犯,是有辦法,我可以列出所有的不同的修正給定的承諾?到顯示修訂提交

+2

看看'git reflog'。但是這個日誌不是永久的,並且會定期清除。 – knittl

回答

1

git commit --amend重寫完全提交,創建一個新的提交對象,並最終引發舊了。如果存在對舊對象的引用,則可以查看更改;但一般情況下這可能不會如此。

所以簡短的回答是:不會。修改提交會將原始提交重寫爲明確而不是有分隔歷史記錄。如果你想識別不同的狀態,你應該做出真正的提交。

如果您(個人/私營)發展過程中只是想這樣,你還可以正常提交,再後來壁球提交創建一個單一的一個,如果你想要把它清理乾淨。

+0

當你做一個南瓜,構成被壓扁的承諾的承諾去哪裏? –

+0

一個壁球基本上和永久性的修改單個提交一樣。它創建了一個新的提交對象,其中來自其他單獨提交的所有更改都被組合在一起。之後,如果沒有其他引用(分支,標籤)指向這些提交,它們可能會被自動刪除。 – poke

0

實際上的方式中存在。當我使用普金例如:It在IDE Eclipse中,我可以看到提交和修改,以及它們之間的差異的完整列表,您可以使用命令git reflog

$ git reflog 
d7f7f15 [email protected]{0}: commit (amend): My second commit 
f5d2ed5 [email protected]{1}: commit (amend): My second commit 
7333d86 [email protected]{2}: commit: My second commit 
addbfef [email protected]{3}: commit: This was my first commit 

。我不知道如何通過命令行查看差異,如果有人知道如何做,請發佈。