2015-11-02 54 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

相关问题