繁体   English   中英

在子分支已合并回master之后,VSTS Git将孙分支合并到master

[英]VSTS Git merge grandchild branch into master after child branch has been merged back into master

我们有一个长期运行的分支branch1,它是从master分支出来的,它正在接受完整的回归测试,这花了一段时间。

在测试该功能时,我正在开发一项功能,该功能需要在branch1中进行更改,将其称为branch1a,它是从branch1分支出来的。 我仍在努力,但应该尽快完成TM

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

现在我不太确定完成后该怎么做,我的父分支已经消失了,但是没有。 如果我创建PR与主控,则可以更改400个文件,如果创建PR与master1,则可以更改12个文件。

看起来合并将在分支1分支之前使用公共父级,而不是我在分支1分支出分支1a的位置,这似乎可能会导致很多问题(尽管从技术上讲,实际的最新文件)。

在这里,重新合并而不是合并更有意义吗? 我的提交应该与现在掌握的内容相当清晰地重播(如果我理解正确的变基)。

VSTS中有一些政策,因此我们无法直接提交给master,我们需要使用PR。 我不确定是否可以创建使用rebase的PR ...也许我应该将master,branch2分支,然后将我的分支重新部署到branch2,然后再将PR从branch2变为master?

像git一样思考会有所帮助; 所以从这个意义上说, branch1并不是“消失了”。 它要么已被删除并消失了,要么尚未被删除并没有消失。 根据您的描述,我认为是后者。

确实可以确定,您应该了解分支如何与master结合。 我怀疑它只是合并了。 根据您对主人历史的了解,您可能会(也可能不会)将合并结果描述为“单次提交”。 (在这方面,IMO的壁球文档可能会造成混淆。)

那个单身犯有第二个父母吗? 如果是这样,那是一个真正的合并。 如果不是,那是壁球(这会使事情变得更困难)。 如果只是一次提交,那不是一个简单的变基(但是壁球实际上只是一种特殊的变基,所以我猜这很麻烦)。

如果这是真正的合并,那么一切都很好。 您可以将branch1a合并为master 至多这可能会使解决冲突更加令人生畏。 如果您想将其分解为较小的冲突解决工作(或者只是想在分支拓扑中保持对称感),则可以将branch1a合并到branch1 ,然后再将branch1合并到master

我不希望通过变基使事情变得更容易,并且如果任何branch1a提交都已推送到远程存储库,那么我建议不要变基。 无论如何,重新设定基准的原因是是否需要更线性的历史记录,有些人会找到更清晰的历史记录(即使它可能会创建不可构建的中间状态)。

至于最后一段……您正在用这个想法使事情变得过于复杂。 根本没有必要。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM