2015-11-02 76 views
0

我有兩個遠程originanother庫,例如,犯下歷史上origin:master回購:只推了一些提交到另一git倉庫

A - B - C - D - E - F 

another是空的回購協議。

需要推動只有最後兩次提交E - Fanother:master即:

origin:master: A - B - C - D - E - F 
another:master: E - F 

我如何能做到這一點的可能性與後,在這兩年的遙控器推不重訂或其他什麼東西?

回答

1

你需要一個初始的empty commit和兩個分支的git歷史記錄:一個(你當前的master)指向F,另一個指向空提交。

退房分支指向空承諾,cherry-pickEF,並推動該分支您another遙控器。當您在another存儲庫中進行所需更改時,您只需要cherry-pick

因此,在創建了最初提交之後:

git checkout -b another-branch <<SHA of empty initial commit>> 
git cherry-pick <<SHA of E>> 
git cherry-pick <<SHA of F>> 
git push another another-branch 
+0

該解決方案oblidge我有兩個分支,做'櫻桃pick'在''後F' master'的每一個承諾,是存在簡單解? –

+0

不,因爲git會跟蹤項目的**歷史記錄**。在你的例子中,'E'依賴於它之前的所有東西,即使它是一個提交,其中包含一個未被前一個提交觸發的新文件。見[這篇文章](http://stackoverflow.com/questions/3230074/git-pushing-specific-commit) – houtanb

相關問題