2009-08-11 28 views
0

我的Git修訂都有點亂了,我想知道如果我可以壁球他們都在一起,然後「摳」從承諾作了一次提交。混帳:壁球所有然後「摳」的一些提交

比方說,我有這些文件中的一個承諾: upload.py, moderate.py, upload.html, moderaion.html

我怎麼能在兩次提交這樣拆呢? 上傳: upload.py, upload.html

節制: moderate.py, moderaion.html

回答

1

你的問題意味着提交已經很混亂,但如果提交本身是'原子'的,但順序錯誤,你也可以使用git rebase --interactive將它們按正確的順序排列,然後擠壓它們。這可能會讓你更容易。

如果提交已觸及多個領域,並要他們分手了,再次git rebase -i可以提供幫助。還可以看看Bart's blog的示例。

+0

這個博客有所有的答案。謝謝 – Cedric 2009-08-12 20:09:09

2

首先,你可以用git rebase --interactive X壁球所有提交到一起(其中X是提交的父你想擠壓)。該運行git rebase --interactive X的第二時間之後,但現在分裂如git-rebase's manual描述的壓扁提交。

開始之前墊底,這是最好記下當前的頭承諾。記下它的散列或創建一個新的標籤/分支。這樣,您可以輕鬆恢復所有更改並重試。

+0

無需標記或現在寫下來哈希有默認情況下,引用日誌上(HEAD @ {1},@ {1}等) – 2009-08-11 21:29:42

+2

真。但是,在進行許多修改頭部的操作之後,無需確定它是@ {1},@ {2}還是其他什麼,它就更容易。 – 2009-08-11 22:55:09