2017-02-28 159 views
0

我们有一个长期运行的分支BRANCH1,分支高手,这是经历了完整的回归测试,过了好一会儿。VSTS合并的Git分支孙子到主后子分支已合并到主

虽然正在测试,我正在一种特性,它需要在BRANCH1变化,称之为branch1a,将其分支BRANCH1的。我仍在努力,但应该尽快完成TM

今天早上,branch1测试完成,它被合并回主。我们正在使用VSTS。我不完全确定它是如何合并的(rebase,squash等)。有一个PR列出了branch1的一些提交和其他PR。它看起来像在主历史记录中显示为1次提交。

现在我真的不知道该怎么做的时候,我做了,我的父母分支排序的走了,但那种不。如果我创建一个PR与master,我得到了400个文件的改变,如果我创建它与branch1我得到12个文件改变。

它看起来像一个合并将使用共同的父母,在分支1分支之前,而不是我从分支1分支branch1a,这似乎可能会导致很多问题(虽然,技术上,只有一个在实际的最新文件中几乎没有变化)。

在这里有更多的意义,而不是合并,而不是合并?我的提交应该相当干净地对现在的主人重播(如果我正确地理解了rebase)。

我们在VSTS中制定了政策,我们不能直接向主人提交 - 我们需要使用PR。我不知道我是否可以创建一个使用rebase的PR ...也许我应该分支master,branch2,并将我的分支重新分支到branch2,然后让一个PR来从branch2掌握?

回答

0

它会帮助像git认为一样思考;所以从这个意义上说,branch1不是“有点不见了”。它已经被删除并且已经消失,或者它没有被删除并且没有消失。从你所描述的,我认为后者。

要真正可以肯定,你应该找出分行如何与master结合。我怀疑它只是合并。根据你如何看待主人的历史,你可能(或可能不)将合并的结果描述为“单一提交”。 (对于壁球的文档可以在这方面是混乱的,IMO)

这是否燎犯有第二父?如果是的话,这是一个真正的合并。如果不是这是一个壁球(这会让事情变得更加困难)。如果只有一次提交,它不是一个简单的rebase(但是一个squash实际上只是一种特殊类型的rebase,所以我认为这是分裂的头发)。

如果这是一个真正的合并,一切都很好。您可以合并branch1amaster;最多这可能会使解决冲突变得更加恐吓。如果你想打破成小块解决冲突的工作(或者如果你只是想保持在该分支拓扑结构对称感),您可以合并到branch1abranch1然后再合并branch1master

我不希望亚马逊会让事情变得更容易,如果任何branch1a提交已被推送到远程回购,那么我建议不要重新分派。无论如何,如果你想要一个更线性的历史,一些人会觉得更清洁(即使它可能会产生不可建立的中间状态),那么重新分配的原因是。

至于你的最后一段......你让这个想法让你自己变得太复杂了。没有必要。

+0

将branch1带入主服务器的提交只有一个父代。 – Josh

+0

我所有的更改都被推送到远程branch1a分支,但我现在是唯一一个正在使用该功能的人。我们仍然有branch1,所以两步法(branch1a-> branch1-> master)听起来更好。 – Josh

相关问题