【发布时间】:2011-07-12 19:02:47
【问题描述】:
我正在使用 Subversion 来管理 Web 应用程序的代码。有共享的开发/QA 服务器,每一个都是项目主干的工作副本。
为了将更改推送到这些共享站点,我将分支(每个分支都与主干保持同步)合并到工作副本中。
很多时候我在源分支中未修改的文件上遇到冲突。此外,我在添加到主干但未添加到分支的项目上遇到树冲突......为什么不只是跳过那个?
我知道合并到工作副本可能不是一个好主意,但共享环境是必需的。
我做错了什么?
【问题讨论】:
-
通常我会将更改合并到一个干净的结帐中,提交合并然后更新工作副本以获取更改 - 这是一个选项吗?
-
嗯,它是主干的工作副本,所以我不想在那里提交。但是您是否在设想不同的主干/分支策略?
-
哦,对不起,我明白你现在在做什么了。您总是可以为每个部署分支主干,然后将您的功能/修复合并到该分支中,然后使用更新来获取更改。我不确定为什么你会遇到冲突,除非主干和修复分支已经分歧。您有可以发布的小型可复制案例吗?
-
svnmerge (orcaware.com/svn/wiki/Svnmerge.py) 简化了我们团队所做的双向合并 - 它跟踪来自多个来源的合并和阻止的修订并防止常见错误。