SVN 合并 - 如何防止代码 deletion/overwrite 错误
SVN merge - how to prevent code deletion/overwrite errors
在代码合并过程中,遇到代码被覆盖甚至删除的问题,求教
- 我们是一个由六名开发人员组成的团队,在两个不同的办公室使用 Tortoise SVN。
- 我们有 12 个个人分支,每个开发人员 2 个:
dev1Client
、dev1Server
、...、dev6Client
、dev6Sever
。
- 我们有共享分支
QA_Client
、QA_Server
、Release_Client
、Release_Server
。
我们遵循的步骤:
所有开发人员都将工作提交到他们的分支,然后他们将他们的更改合并到 QA_Client
和 QA_Server
。
QA 版本是从 QA_Client
和 QA_Server
准备的。
一旦通过测试,管理员会创建一个带有版本号的标签并将代码合并到 Release_Client
和 Release_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 是一个很好的参考。
简而言之,您不能用工具代替个人责任(或缺乏个人责任)。可以通过让有罪的开发人员追溯修复损坏的合并来执行该策略;)
在代码合并过程中,遇到代码被覆盖甚至删除的问题,求教
- 我们是一个由六名开发人员组成的团队,在两个不同的办公室使用 Tortoise SVN。
- 我们有 12 个个人分支,每个开发人员 2 个:
dev1Client
、dev1Server
、...、dev6Client
、dev6Sever
。 - 我们有共享分支
QA_Client
、QA_Server
、Release_Client
、Release_Server
。
我们遵循的步骤:
所有开发人员都将工作提交到他们的分支,然后他们将他们的更改合并到
QA_Client
和QA_Server
。QA 版本是从
QA_Client
和QA_Server
准备的。一旦通过测试,管理员会创建一个带有版本号的标签并将代码合并到
Release_Client
和Release_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 是一个很好的参考。
简而言之,您不能用工具代替个人责任(或缺乏个人责任)。可以通过让有罪的开发人员追溯修复损坏的合并来执行该策略;)