【问题标题】:SVN Merging different projects into one master projectSVN 将不同项目合并为一个主项目
【发布时间】:2013-07-06 11:07:15
【问题描述】:

我们的 24 人开发团队在 Windows 上使用 Tortoise svn,在 Ubuntu 上使用命令行。我们从 SVN 中的一个 ma​​ster 文件夹开始。但是我们在 QA 版本中遇到了一些冲突和问题,因此决定再制作三个 master 副本,即 Alpha、Beta 和 Gamma。 Team Alpha 将始终提交到 Alpha 文件夹。 Team Beta 将始终提交到 beta 文件夹等。

文件夹结构:

之前

  • 大师

之后

  • 大师
  • 阿尔法
  • 测试版
  • 伽玛

我们现在遇到的问题是在合并文件时,因为 3 个团队在不同的模块中工作,有时在共同的文件中工作。当我们尝试合并来自 Alpha 的文件时,Beta 新添加的文件从 Master 中丢失。

将 Master 发布给 QA 之前,我们应该遵循什么方法将 Alpha、Beta 和 Gamma 的更改合并到 Master 中?

【问题讨论】:

  • 不同的团队有不同的分支是很奇怪的。你能解释一下你之前与 QA 版本有什么样的冲突,以及不同的分支如何帮助解决这个问题。因为了解实际问题会更容易为您提供好的建议。

标签: svn merge tortoisesvn branching-and-merging


【解决方案1】:

您的“主”文件夹应被视为 SVN 红皮书经典布局 (http://svnbook.red-bean.com/en/1.2/svn.branchmerge.maint.html) 中的“主干”。根据同一参考文献,“Alpha”、“Beta”和“Gamma”是“分支”。

“Alpha”、“Beta”或“Gamma”的每个“里程碑”都应重新集成到“Master”中(参见此处的步骤:http://technology.amis.nl/2010/02/25/subversion-branching-merging-and-reintegration)。此后,其他团队将不得不在他们的副本中合并一系列修订(http://svnbook.red-bean.com/en/1.7/svn.branchmerge.advanced.html,请参阅 Cherrypicking)。

在 TortoiseSVN 中,这些操作都在 Merge 命令中(TortoiseSVN > Merge into the target directory)。

【讨论】:

  • 尝试了从 beta 到 master 的重新集成方法:但它所做的是更新不应该在 master 中更新的文件(因为 master 中的某些文件比 beta 更新得更多)。有什么解决办法吗?
  • 如果“主”文件比“测试版”更新,所以我认为你在这个过程中跳过了一些部分,但要解决你只需要先将“主”文件合并到“测试版” ,然后,当“Beta”稳定后,再次将所有更改重新整合到“Master”中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多