2016-12-03 98 views
0

从Linus Torvalds的帖子here中,Linus显示了一个功能分支,其中A和B提交过早地合并到M中的origin/master ,然后又恢复为W恢复master分支:(按我的理解),如果都是为了完成特征C和d,然后在特性分支合并将失去如何更新分支而不是将分支从早期的不需要的合并更改为主分支

---o---o---o---M---x---x---W 
      /
---------A---B 

他接着说明A和B的变化是因为师父在W处摆脱了他们。

所以他建议恢复回复得到:

---o---o---o---M---x---x---W---x----Y 
      /
---------A---B---C---D 

其中Y是W的回复,然后合并到特征分支中。

现在,这一切都很好 - 它是有道理的。

但是,我还没有准备好将功能分支放入主设备。我尽管希望最新的主变更将它们合并到我的功能分支中。

但是,然后我的功能分支也得到W恢复,撤消A和B在它。

如果我在Y恢复恢复合并到我的分支,那么我怀疑我的功能分支是可以的,但是然后Master将会有我的功能,我不希望它。

如何在没有得到恢复W的情况下从主服务器进行更新?

+0

为什么你的功能应该对合并掌握一无所知。它应该让所有主要提交分支点的权限?为什么它知道o的? – yelsayed

+0

我认为你是对的 - 我感到困惑。我会编辑。 – jontyc

+0

您的功能分支不受合并影响。 –

回答

1

截至Torvalds' Howto结束时,他建议

$ git checkout E 
$ git rebase --no-ff P 

产生

A'---B'---C'------------D'---E' <-- recreated topic branch 
/
P---o---o---M---x---x---W---x 
    \  /
    A---B---C----------------D---E 

要确定最好的共同祖先变基上(P),你可以使用git merge-base M~ E 。之后,你可以合并主功能或反之亦然

+0

这很可怕,但它的工作。 – jontyc

相关问题