GitHub Enterprise与Team Foundation Server(TFS)

Wil*_*ert 8 git tfs github visual-studio

我们将在我正在工作的公司开始一个新项目.这是一个C++和C#的软件开发项目,在三个地点有大约6-8名开发人员.

这里较旧的项目使用SVN和自定义问题跟踪器,但计划切换到TFS.对于这个新项目,我想说服管理层使用GitHub Enterprise而不是TFS.我对TFS没有太多经验,但我已经使用了很多git,并且有一些GitHub经验.

我特别询问完整的体验,即版本控制,问题/错误跟踪和Wiki的集成.这里有一些相关的问题,但它们只关注版本控制方面.所以:

  • GitHub Enterprise相对于TFS有哪些主要优势?
  • TFS提供的优势比GitHub Enterprise无法复制?
  • 这两种解决方案中哪一种能够为持续集成提供更好的支

所有开发都将在使用Visual Studio的Windows机器上进行(2010年,可能是2012年).

wem*_*emu 8

好吧,我不能给你一个完整的答案.但我们看看TFS for Java开发,这里有一些可能对您有意义的要点.

  • 我们使用TFS遇到路径+文件名的长度限制.这似乎更有可能是Java,因为C#中的包装是以不同的方式完成的
  • 锁定:以某种方式创建文件将其锁定在TFS中(或为其保留"点").当人们不在房间里修理这些文件时,这非常烦人.对于分布式团队,我无法想象它应该如何工作.
  • 使用Java的CI很乱.它工作但与Jenkings/Hudson/Bamboo/TeamCity相比,我不会将它用于Java.使用C#可能会更有趣,因为TFS允许CI构建的工作流程.因此,某些构建可以升级为自动部署.但我从未在现实生活中使用过它.我只是喜欢这个主意:)
  • TFS中的问题跟踪是可以的.还有一些Scrum/Agile规划插件
  • TFS维基是浪费时间.但GitHub wiki基于Git,所以人们需要编写标记.这对开发人员来说没问题,但我对我们的团队成员来自该领域有些怀疑.
  • 我不知道GitHub有内置的CI吗?我知道的所有CI服务器都支持Git.
  • Git Windows客户端有点奇怪.msysgit客户端有路径长度限制,cygwin one os甚至更奇怪(只是感觉)但两者都很好用.GitHub有自己的客户端 - 我不知道它是基于什么的.

考虑到你的团队是分布式的,我会选择Git.它将允许更灵活的工作流程.如果网络稳定,TFS肯定也能完成这项工作.如果您之前使用过SVN:TFS作为源控件肯定会让人失望.但是习惯使用VisualStudio和MS-Server-Parts的开发人员与它的冲突要少得多.

再说一遍:我们尝试(或不得不尝试)使用TFS + Java,使用C#+ Visual Studio这是一个完全不同的故事.那里的整合会好得多.然而,我的一些观点可能仍然有用:)