SVN合并-如何防止代码删除/覆盖错误

时间:2018-12-18 03:34:46

标签: svn version-control

在代码合并过程中,我们面临代码被覆盖甚至删除的问题,因此我们正在征求建议。

  • 我们是一个由六个开发人员组成的团队,他们在两个不同的办公室中使用Tortoise SVN。
  • 我们有12个个人分支机构,每个开发人员2个分支机构:dev1Clientdev1Server,...,dev6Clientdev6Sever
  • 我们有共享的分支机构QA_ClientQA_ServerRelease_ClientRelease_Server

我们遵循的步骤:

  1. 所有开发人员将工作提交到其分支机构,然后将其更改合并到QA_ClientQA_Server

  2. 质量检查内部版本由QA_ClientQA_Server准备。

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

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

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

1 个答案:

答案 0 :(得分:1)

您已经指出了导致自己的根本原因:

  

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

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

简而言之,您无法用工具代替个人责任(或缺乏责任感)。可以通过使有罪的开发人员追溯修复损坏的合并来实施该政策;)