1

当我们发布新版本时,我需要创建一个时间点分支。

所以我有所有开发的默认分支,以及每次向服务器发布新版本时的 V1、V2 等分支。

所以如果我有默认的开发分支。V1 在 Live 服务器上。V2 在测试服务器上。

如何处理以下情况:

  • V1发现了一个bug,需要在V1、V2、default中去改吗?

  • V2 在某个时间点制作并进入测试服务器,在默认情况下继续开发具有多个功能。在对 V2 进行一些测试后,该功能还没有完成,默认情况下的一些变更集应该合并回 V2 - 但不是所有的变更集?

4

1 回答 1

5

通常的方法是定位引入错误的变更集(在 V1 的分支点之前),并将修复作为该变更集的子项提交。这将引入一个新的头,然后您可以将其合并到您想要修复的分支中,在本例中为 V1、V2 和默认值。

这种方法称为“<a href="https://www.mercurial-scm.org/wiki/DaggyFixes" rel="nofollow noreferrer">daggy fixs”。

graft或者,您也可以在一个分支上修复它(例如,默认),然后使用命令将其挑选到其他分支上。但这不是很好,因为变更集将出现三次,如果您再次将其中两个分支合并在一起,可能会导致合并问题。

于 2012-06-13T08:20:02.253 回答