我正在为我们的团队(1到2名开发人员)评估版本控制系统,并且想知道TFS 2012版本控制在合并和分支方面与Mercurial的比较。我们没有庞大的团队,可能只是我和其他开发人员,因此我们可能不需要DVCS提供的强大分支/合并功能。就功能而言,我无法找到有关TFS 2012版本控制的更多信息。任何人都可以指向我或指出一些功能吗?请注意,我们只能访问VS专业版的独立版TFS 2012。
由于
答案 0 :(得分:7)
Mercurial分支在一个关键方面与TFS不同。 TFS将您的分支存储在文件空间的不同部分,而Mercurial将它们存储在历史记录中。这大大减少了分支和合并中涉及的摩擦。这意味着,例如:
分支和合并有几个优点,甚至适用于小团队或独立开发人员。其中一个例子就是能够修复生产系统中的错误,即使您正在开发其他功能。另一个例子是探索性或实验性开发:如果一种方法不成功,您可以轻松回滚到开始并尝试第二种不同的方法,同时仍然保持原始方法,以防您需要返回它。
答案 1 :(得分:2)
以前的“答案”有点奇怪。通过GUI和命令行实现,TFS 2012中的分支和合并与您期望的完全一样。这是一个很好的文档,完全涵盖了这个主题:
ALM Ranger Guide 已更新
答案 2 :(得分:0)
<强>前言强>
我与TFS没有任何关系,从未使用它
<强>脸部:强>
最新的'tfs2012'问题,至少有一些(How to set up TFS to cater multiple projects to multiple clients,TFS 2012: Correllating binaries to builds and source code,TFS 2012 Disable Multiple Check-out not working),向我们展示了问题,我从未考虑过< Mercurial中的em> question (有时会添加一些外部工具)。但是你也可以理解,TFS定位为完整的ALM工具,而不是纯粹的SCM,Mercurial是。
来自James McKay的{p> "Team Foundation Server is the Lotus Notes of version control tools"并不是最新鲜的文章(2011年2月),但至少有些陈述仍然有效,我认为。分支合并的数量仅与团队规模有关,部分取决于开发风格,开发人员的习惯
答案 3 :(得分:0)
如果你是一个小团队,毫无疑问,请使用Mercurial。
Mercurial在您将使用的特定开发工作流程方面具有轻量级和灵活性。它更适合小型团队,事实上,它甚至适合独奏开发者,因为它不会产生任何管理开销。
关于合并的需要,它实际上并不是你所暗示的高级功能:它是一个非常基本的功能,大多数(所有?)非分布式VCS无法正确使用。你现在可能不需要它,但如果你曾经这样做过,那么你就可以在Mercurial中使用它,它只是有效。