2

在我工作的公司,我们正在启动一个项目,并且从头开始,因为我和其他 2 位开发人员是公司的第一批开发人员,我们正在努力为我们的工作建立基础。

因为我们将来要开发到Windows Phone和Android,可能还有iPhone。我们将分别使用 Visual Studio 2010 和 IntelliJ for WP 和 Android(从我们可以看到这里选择不多,欢迎任何建议)。

我们还不能决定要使用的 VCS,虽然我们所有人都使用过很多 SVN,但我们中只有 2 人使用过 TFS 版本控制,我们不太喜欢它,特别是必须签出以进行编辑和获取即使我们中的一个人不更改文件也会发生冲突。Git 和 mercurial 我们只是玩了一下。

谁能提供一些关于这些之间的主要优势是什么的见解,并帮助我们选择?

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

谢谢

4

2 回答 2

4

口味问题。就这么简单。

Git、Hg 和 Bzr 几乎等同于 95% 的功能,并且可能是大多数用户想要的大多数功能。尽管如此,它们仍然使用不同的语义进行分支。

所有 DVCS 都优于合并。

Git 工具支持——在我看来——在 Windows 上非常逊色,但在所有其他系统上与其他两个相当。

中央存储库是所有这些的约定,不是必须的。

于 2012-04-19T21:14:14.350 回答
0

使用 TFS 11,已经在测试版中作为“上线”(意味着您可以在生产中使用它)您拥有一种称为“本地工作区”的新型工作区,我认为您会喜欢它。

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

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

DVCS 最适合开源项目,因为它使您能够根据需要创建分支。我真的不同意之前关于合并更好的评论。合并总是很痛苦的,一定要在可以受益于三路合并(减少冲突的最有效方法)的场景中。

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

于 2012-04-19T21:38:36.223 回答