使用什么VCS?

时间:2012-04-19 21:09:20

标签: git svn version-control mercurial tfs

在我工作的公司,我们正在开始一个项目,从头开始,因为我和另外两个开发人员是公司的第一个开发人员,我们正在努力为我们的工作建立一个基础。

因为我们将来会发展到Windows Phone和Android以及可能的iPhone。我们将分别使用Visual Studio 2010和IntelliJ for WP和Android(我们在这里看到的内容不多,欢迎任何建议)。

我们无法决定使用的VCS,虽然我们所有人都使用过SVN,但我们中只有2人使用过TFS版本控制,我们并不喜欢它,特别是即使我们中的一个人没有更改文件,也必须签出以进行编辑并获得冲突。 Git和mercurial我们只是玩了一点。

任何人都能提供一些见解,了解这些优势之间的主要优势,并帮助我们选择?

  • 我们想要一个简单的合并过程(tfs似乎在这里丢失)。
  • 这可以很容易地(如果可能的话)使用我们正在使用的IDE(据我们所知,tfs和svn都支持,不确定其他人)。
  • 易于标记和分支。
  • 易于维护的中央存储库(因为git和mercurial是分布式的)
  • 成本不是问题。

由于

2 个答案:

答案 0 :(得分:4)

品味问题。就这么简单。

Git,Hg和Bzr几乎相当于95%的功能,可能是大多数用户想要的大部分功能。不过,他们使用不同的语义进行分支。

所有DVCS都优于合并。

Git工具支持 - 根据我的口味 - 在Windows上非常低劣,但在所有其他系统上与其他两个相当。

中央存储库是所有这些的惯例,而不是必须的。

答案 1 :(得分:0)

TFS 11已经在测试阶段作为“Go Live”(意味着你可以在生产中使用它),你有一种新的工作空间称为“本地工作空间”,我认为你会喜欢。

您无需签出以编辑文件,在后台监控更改(无论是来自VS还是来自其他软件或shell),然后您在办理登机手续时“重新调整”事情。另一个好处是你不需要连接到TFS服务器来贡献,在这种情况下,可怕的在线/离线模式不再存在。

对于你提到的合并'问题',丢弃Visual Studio使用的合并工具并转到KDiff3或Beyond Compare,使用三向合并设置它们将获得最佳结果。一旦你了解了基本技巧,TFS的合并过程就是最好的。 Visual Studio 11还有一个全新的comp / diff工具,值得一试。

DVCS主要用于开源项目,因为它可以让您根据自己的喜好创建分支。我不同意先前有关合并更好的评论。合并总是很痛苦,请务必处于可以从三方合并中受益的场景(减少冲突的最有效方法)。

也许你可以试试TFSPreview.com平台,它真的很棒。