1

这是我的布局

/trunk
/branches/qa
/branches/dev

我不打算将来删除任何这些分支

--reintegrate从DEV合并到QA时需要使用吗?或者从 QA 到 /trunk

谢谢

4

2 回答 2

1

If merge direction is always the same (i.e. you do not merge from qa to dev, only dev->qa), simple merge is enough.

A separate mode (reintegration) was needed to avoid unneeded merges. In "feature branch" scenario the feature branch will have two type of changes in it:

  1. regular commits
  2. merges from trunk

When we want to put the feature into trunk we want to merge only (1). But if we will use default merging mechanism, SVN will also try to merge (2) into trunk which will lead to conflicts or hidden errors, because those changes are already there.

于 2012-07-30T05:27:38.650 回答
1

在两个分支(包括 )之间使用重新集成合并trunk,并打算保留源分支,通常是一个坏主意。在将来的合并中使用作为先前重新集成合并中的源的分支存在奇怪的问题。

一般的解决方案是将源分支重新集成合并到trunk应该是目标分支),然后在合并后删除并重新创建源分支trunk

但是,您想做一些稍微不同的事情。

您是否应该在dev和之间进行重新整合合并qa?我的建议是避免重新整合合并,而是使用顺序或差异合并,并在合并时遵循创建路径(见下文)。

通常,如果您希望将更改从devto合并qa,您将合并devtrunk(并提交),然后再合并trunkqa(并提交)。换句话说,你遵循创造的道路。这在审核您的提交和合并时提供了一个漂亮、清晰的合并历史视图。

如果这是不可能的,那么您需要格外小心地进行分支到分支的合并,并且这些通常应该仅限于顺序合并。然后,当需要 mergedevqaintotrunk时,它会容易得多。

希望这可以帮助。

于 2012-07-30T08:26:45.900 回答