visual-studio - GitHub Enterprise 与 Team Foundation Server (TFS)

标签 visual-studio git tfs github

<分区>

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

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

我具体问的是完整的体验,即版本控制、Issue/Bug跟踪和Wiki的集成。有一些related这里的问题,但他们只关注版本控制方面。所以:

  • 与 TFS 相比,GitHub Enterprise 的主要优势是什么?
  • TFS 提供了哪些 GitHub Enterprise 无法复制的优势?
  • 这两种解决方案中哪一种能更好地支持持续集成?

所有开发都将在使用 Visual Studio 的 Windows 计算机上进行(2010 年,也许是 2012 年)。

最佳答案

好吧,我不能给你一个完整的答案。但是我们了解了用于 Java 开发的 TFS,这里有一些您可能也会感兴趣的 Gist 。

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

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

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

关于visual-studio - GitHub Enterprise 与 Team Foundation Server (TFS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12779365/

相关文章:

sql-server - 如何引用 SSRS 报告的嵌入代码中的字段

visual-studio - 从单元测试中删除 TestContext 是否合理?

git - 如何在 git 中添加可选子模块?

Git-Tf 移动大型 Tfs 项目的部分

visual-studio - TFS2010 : Fast way to determine user, 谁编辑了 "this function"或 "this line of code"?

visual-studio - 如何更改 ASP.NET 网站以使用 Cassini 服务器?

visual-studio - VS2017、ASP.net、 typescript 和 npm

git - 如何使用 Intellij IDEA 进行交互式 rebase ?

git - 我们如何在 git 中 merge 两个存储而不提交任何存储?

unit-testing - 如何从 TFS 2015 中的单元测试中获取调试输出