Tortoise SVN采用多种开发方式

时间:2014-05-20 14:36:15

标签: svn tortoisesvn asp.net-mvc-5

我有一个由20名开发人员组成的团队,他们不断致力于MVC5应用程序。我正在使用tortoise SVN将所有用户的作品合并到一个应用程序中。

我应该为开发人员创建单独的分支,以便他们可以单独工作,最后我可以合并吗? 但这会产生很多开销,并且似乎也不是最佳的。

什么是最佳方法,以便我可以获得最小的冲突和最佳结果?

1 个答案:

答案 0 :(得分:2)

您将始终发生冲突,真正的诀窍在于您如何管理这些冲突。并且"最佳结果"是一个相当主观的衡量标准,你不觉得吗?

首先,让我们讨论一下您目前的工作方式。听起来你是管理源代码控制的唯一人,所有的变化都会流经你。这对您来说并不顺利,实际上会导致更多的冲突。每个用户应该负责他自己对中央(在Subversion的情况下)存储库的提交,并且应该在他完成的更改时提交 - 这可以是单个方法,整个类的重构,无论你想要什么 - 只要它没有完全破碎。

这意味着您需要一个所有用户签出并检入的集中式服务器。每个用户都有自己的凭据集。该存储库被认为是规范的,权威的源代码 - 如果它不在那里,它就不存在。

设置好后,您可以选择几种工作模式:

  1. 共享主干(每个人都指向相同的源代码并提交相同的网址)
  2. 开发者私人分支机构
  3. 以上的混合物(用于实验/长期运行,破坏变化)
  4. 您遇到的方法#2遇到的麻烦是您必须合并。 很多。这会产生很多冲突 - 不仅每个开发人员都会发生冲突。更改必须合并到主干(确定的主要来源),每个开发人员都需要将最新的主干合并到他们的分支(或其他开发人员的分支)。

    使用方法#1,您仍然会遇到冲突,但如果您要更新工作副本并定期将更改提交回存储库,那么它们会变得更小和更小。更容易管理。

    请记住,任何VCS的核心都是沟通工具。您将每个开发人员的思维过程与其他人(私人分支机构)保持隔离的程度越高,将他们的想法重新组合在一起就越困难。它只是团队工具集中的一个工具 - 没有什么可以取代实际上彼此谈论谁在做什么。

    最后,你真的需要阅读Subversion Manual,因为它解释了它的用法。 "To Branch or not to Branch"部分将特别有用,但实际上,您应该阅读整本书。它需要一个下午左右。