如何在修改后的主服务器上的分支和远程主服务器之间获得差异?

时间:2012-11-08 14:36:57

标签: git

什么是“分叉”项目,与维护者更改保持联系并开发自己的功能的最佳方式,同时如果能够接受任何功能,仍然可以轻松回馈这些功能?

这是我做的,但遇到了问题。

我克隆了一个存储库,在Feature1分支中做了一些工作,然后从origin然后从feature1合并了更改,然后是origin ... 然后我开发了feature2,当然,它还包含feature1代码。 下面的艺术描述了这个场景(希望如此)。

我拥有主人的所有上游变化,并在他们之上发展。但是,我无法回馈Feature2,因为它还包含Feature1代码。我能做什么?如何针对'aaa'获取feature2补丁?

Rebase Feature2和cherry-pick以排除Feature1提交?没有多少解决方案。

git format-patch f2..f4然后git am?必须手动应用所有补丁!

          Feature1                                    Feature2
          a---b---c---d---e---f---g-----h---i         f2---f3---f4
         /                 \             \   \        /
    --------x'---y'---z'----1---o'---p'---2---3---q'-----r'---t'---l'---aaa'
     /     /    /    /        /    /             /      /    /    /
origin----x----y----z--------o----p-------------q------r----t----l---aaa

0 个答案:

没有答案