7

我已经像这样在 Subversion/TortoiseSVN 中合并了几次:

方法一:

  • 1)我改变了主干并提交。

  • 2)我在分支中进行其他更改并提交。

  • 3) 在主干的工作副本中:我使用 TortoiseSVN 的“合并一系列修订”从分支合并。

  • 4)然后我提交主干并删除分支。

但是, TortoiseSVN 手册建议使用以下内容而不是 3) 和 4):

方法B:

  • 3*) 在分支的工作副本中:使用 TortoiseSVN 的“合并一系列修订”合并来自主干的更改。

  • 4*) 提交分支,包括主干更改。

  • 5*) 在主干的工作副本中:使用 TortoiseSVN 的“重新集成分支”合并来自分支的更改。

  • 6*) 提交主干并删除分支。

我发现 A 更容易,并且没有找到我不应该那样做的理由。

从分支合并回主干时,方法 B 或 A 的参数是什么?

4

2 回答 2

11

在合并回来之前称为“基”:在将本地分支合并回主干之前,您使用主干演变“变基”(或更新)本地分支。

它允许在您的“分支”中缓慢解决合并问题,并可能进行中间提交。 然后,当一切都完成后,你可以做一个简单的合并回到主干。 这样,您不必仅仅因为您在主干上合并而延迟提交(因为在主干上应该只允许稳定的提交)。

您认为使用方法“A”有害吗?

不,如果合并是微不足道的,则结果可预测。在这种情况下,方法 B 将浪费时间,不需要额外的合并(并且您应该始终寻求尽可能少的合并:这些操作中的每一个都可能容易出错)

但是如果事先没有很好地定义结果,那么绝对推荐方法“B”,并允许您在影响“主干”之前在自己的分支中探索合并的结果。

这两种方法都是有用的,一个人不应该只应用一种或只应用另一种,而是最适合当前情况的一种。

于 2009-06-13T19:41:17.283 回答
0

关于合并修订范围重新集成分支

遵循方法 B 导致在分支中有两种提交:

  1. 分支独有的变化
  2. 通过连续合并范围的修订从主干中挑选主干更改

合并回主干时,您必须只选择分支独有的更改。这是通过Reintegrate a branch完成的。

最后使用合并范围的修订将给主干带来重复的主干更改和私有分支更改的混合。

于 2013-11-28T13:30:08.277 回答