2012-07-27 45 views
5

我是新来的颠覆。在过去的一个月中,我做了一些改变,并将它们合并为主干。一切似乎都很好 - 我的改变像预期的那样得到了传播。但今天我重新阅读有关合并,看到this,称合并更改时回主干如下:不使用 - 使用svn重新合并回中继的后果

现在,使用SVN与--reintegrate选项复制分支的修改到主干合并。

,后来几段:

通知我们使用--reintegrate选择的这一次。该选项对于将分支的更改重新集成到原始开发线中至关重要 - 不要忘记它!

我猜我第一次没有仔细阅读过。

因此,我似乎犯了一个错误,因为我之前没有使用--reintegrate选项,因此我之前合并回主干。这有什么后果?有什么我需要解决?

在情况下,它是非常有用的,我的工作流程已经是这样的:

  1. 从主干拷贝,创建一个个人分支。
  2. 查看个人分支。
  3. 更改和提交。
  4. 获取主干的工作副本。
  5. 将我的分支合并到trunk的工作副本(再次没有--reintegrate)。
  6. 提交合并。
  7. 删除我的分支。
+0

[SVN合并一系列修订与重新合并]的可能重复(http://stackoverflow.com/questions/6575325/svn-merge-a-range-of-revisions-vs-reintegrate) – parvus 2014-03-26 13:12:57

回答

9

如果您的分支非常短暂,您的工作流程很好。

如果寿命更长,您需要定期将变化从树干合并到您的分支中,以避免与主要活动分支断开连接。

最后,您的功能分支将包含自从您创建分支以来在分支中发生的每个更改,+您在分支中开发的新功能。此时,您需要使用reintegrate选项,因为将分支的更改应用到主干是错误的:它将重新应用已存在主干中的更改,因为它们源自它。

这在SVN书关于feature branches的章节中有很好的介绍。