【发布时间】:2012-06-20 07:29:25
【问题描述】:
我的团队正在考虑在 TFS 2010 中进行每个任务的分支开发。我们正在考虑将搁置集用于小任务(1-3 天)并为任何更大的任务(4 天到 2 个月)创建新分支。一旦在分支上完成开发,它将被合并到 main 并删除(而不是销毁)。通常只有一名开发人员在特定分支上工作。
有没有人在使用 TFS 2010 和许多分支的项目上工作过。它是如何工作的?随着分支机构数量的增加,是否存在任何服务器性能问题?对 VS IDE 的性能有影响吗?
已经有很多与诸如“TFS 在合并方面很糟糕并且正在压垮我的灵魂,我该怎么办?”之类的问题的答案。和“当 x、y 和 z 可用时,为什么有人会使用 TFS?”在存在大量分支机构的情况下,请尽量保留与服务器性能和系统可用性相关的答案。
这是我的分支历史的一些背景。我之前参与的项目在 ClearCase 中使用了每个任务的分支策略,并且效果很好。分支创建与缺陷跟踪和构建系统相关联。开发人员在自己的分支中完成了每个工作单元。每个分支的生命周期从一天到几个月不等。在每个任务结束时,代码被合并到主集成分支中。这是一个大型项目,经过大约 10 年的开发,该系统拥有超过 10,000 个分支。 ClearCase 能够很好地处理这种分支量(除了在版本树浏览器中查看流行文件时,加载时间可能很慢)。
【问题讨论】:
-
对“功能分支”进行一些搜索。我们已经在我的商店成功使用了它。一个重要的因素是,您希望您的分支机构中正在进行的工作类型足以成为一个单独的关注点,您不会有大量的合并冲突。我的建议是不要专注于每个人的分支,而是每个功能的分支。所以你会有一个“Widget Data Services”分支,而不是一个“James”分支。 -- 按名称分支被视为反模式。