仅将一些提交推送到另一个git存储库

时间:2015-11-02 11:43:04

标签: git push

我有两个远程originanother存储库,例如,在origin:master repo上提交历史记录:

A - B - C - D - E - F

another是空的回购。

只需将最后两次提交E - F推送到another:master,即:

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

如果没有使用rebase或其他东西推进这两个遥控器,我怎么能这样做呢?

1 个答案:

答案 0 :(得分:1)

您需要一个带有初始empty commit和两个分支的git历史记录:一个(您当前的master)指向F,另一个指向空提交。

查看指向空提交的分支cherry-pick EF,然后将此分支推送到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