通过"合并范围的修订"从分支到主干的合并

Ole*_*nge 7 svn merge branch trunk

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

方法A:

  • 1)我改变主干并提交.

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

  • 3)在trunk的工作副本中:我使用TortoiseSVN的"合并一系列修订"从分支合并.

  • 4)然后我提交trunk并删除分支.

但是, TortoiseSVN手册建议使用以下代替3)和4):

方法B:

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

  • 4*)提交包括主干更改的分支.

  • 5*)在来自主干的工作副本中:使用TortoiseSVN的"重新整合分支"合并来自分支的更改.

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

我发现A更容易,并且没有找到我不应该这样做的原因.

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

Von*_*onC 11

在合并之前调用" rebasing ":在将本地分支合并回trunk之前,使用trunk进行"rebase"(或更新)本地分支.

它允许 "a branch"中缓慢解析合并,并允许中间提交. 然后,当一切都完成后,你可以做一个简单的合并回到主干. 这样,你不必仅因为你在trunk上合并而延迟提交(因为在trunk上只允许稳定的提交).

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

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

但是如果事先没有很好地定义结果,那么明确建议使用方法'B',并允许您在影响'trunk'之前在自己的分支中探索合并的结果.

这两种方法都很有用,不应该只设法应用一种方法,也不应该只应用另一种方法,而是最适合当前情况的方法.