SVN 合并 - 如何防止代码 deletion/overwrite 错误

SVN merge - how to prevent code deletion/overwrite errors

在代码合并过程中,遇到代码被覆盖甚至删除的问题,求教

我们遵循的步骤:

  1. 所有开发人员都将工作提交到他们的分支,然后他们将他们的更改合并到 QA_ClientQA_Server

  2. QA 版本是从 QA_ClientQA_Server 准备的。

  3. 一旦通过测试,管理员会创建一个带有版本号的标签并将代码合并到 Release_ClientRelease_Server.

第一步代码在合并过程中有几次被覆盖或删除。我们发现开发人员没有将他们的分支与 QA_Branches 同步的主要原因。

例如,Dev1 和 Dev4 已将代码合并到 QA* 个分支,而其余开发人员尚未将他们的分支与 QA* 同步。之后 Dev2 可能会尝试将他的代码合并到 QA* 得到一些冲突警告。他错误地解释了这些警告并覆盖了 Dev1 和 Dev4 之前所做的一些更改。

您自己指出了根本原因:

The main reason we have found that developers are not syncing their branches with the QA_Branches.

您的团队应该制定严格的政策,在开发人员将他们的新代码合并到 QA* 之前,始终使个人 dev* 分支与 QA* 分支中的最新更改保持同步。开发人员还需要了解不同的合并冲突消息的含义以及解决方法,SVN Book 是一个很好的参考。

简而言之,您不能用工具代替个人责任(或缺乏个人责任)。可以通过让有罪的开发人员追溯修复损坏的合并来执行该策略;)