首页 > 解决方案 > SVN 合并 - 如何防止代码删除/覆盖错误

问题描述

在代码合并过程中,我们遇到了代码被覆盖甚至删除的问题,所以我们正在寻求建议。

我们遵循的步骤:

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

  2. QA Build 由QA_Client和准备QA_Server

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

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

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

标签: svnversion-control

解决方案


您自己指出了根本原因:

我们发现开发人员没有将他们的分支与 QA_Branches 同步的主要原因。

dev*在开发人员QA*将新代码合并到QA*. 开发人员还需要了解不同的合并冲突消息的含义以及如何解决它们,SVN Book是一个很好的参考。

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


推荐阅读