2010-09-01 8 views
1

假設有人已經用一些廢話更新了遠程起源,我想忽略它。我的回購看起來像從歷史記錄創建一個新的提交

A-B-C-D 

和遠程是

A-B-C-D-E-F 

我基本上要拋棄è&女,但保留了歷史,所以希望的結果會是什麼樣子

 /-----\ 
A-B-C-D-E-F-G 

我無法看到如何重置或回覆,而無需重新播放頂部的E & F.我看不到如何合併而不保留E的更改。 D & D應該基本相同。

回答

3

所以,你想撤消E和F的變化,但在歷史中保留E和F?使用git revert-n(不提交)選項:

$ git revert -n $F 
$ git revert -n $E 
# Fix conflicts, check to make sure the reverts look good, etc. 
$ git commit 
+0

爲什麼我會帶F那麼E兩兩個復歸命令?我得到了它與測試回購工作,並愉快地恢復後,一些怪物合併。有沒有簡單的方法來接受所有的目標變化? – Wil 2010-09-01 15:28:01

+0

'git revert'一次只能恢復一次提交;我的印象是你想恢復* *提交*單一*恢復提交。 – mipadi 2010-09-01 15:37:55

+0

我可以跳過F嗎?可以直接去E嗎?從本質上講,它只是將HEAD重置爲之前的狀態,所以使用'-n'標誌我可以編輯,創建一個新的提交消息並繼續前進? E&F仍然會在歷史中,但是它們的變化在'revert -n $ E'之後會在合併中恢復? – Wil 2010-09-01 16:15:45

相關問題