【问题标题】:What are the differences between TFS, SVN and GIT? [closed]TFS、SVN 和 GIT 有什么区别? [关闭]
【发布时间】:2011-02-05 02:19:53
【问题描述】:

我使用 Microsoft Visual SourceSafe 进行版本控制。我想改变这种方法并使用更新的软件来完成这项工作。这三个应用程序之间有什么区别?哪个更好?

这些解决方案是否与 Visual Studio 集成?

【问题讨论】:

  • 你能获得更好的资格吗?具体功能?一般可用性(我假设你在 Windows 下)? VS 集成?
  • 我的意思是一般可用性和与 VS 的集成。
  • 如果你问我,它们都比 VSS 好很多。
  • 还有一个需要考虑的是 Mercurial (Hg)。现在 Google Code 和 CodePlex 都支持它,它也是一个不错的选择。看看tekpub.com/codeplex -- 该视频还将让您了解 Git 和 Mercurial 等分布式版本控制系统。
  • Visual Source Safe 一点也不安全...它会随心所欲地丢失变更集,而且速度很慢 - 使用它应该是刑事犯罪。

标签: visual-studio svn git version-control tfs


【解决方案1】:

TFS 是一个应用程序生命周期管理解决方案,SVN 和 Git 只是源代码控制。

TFS 进行源代码控制以及问题跟踪、文档管理、报告、持续集成、用于测试的虚拟实验室等。

TFS 的 Source Control 和 SVN 是集中式的源代码控制,Git 是分布式的。

Stackoverflow 上有很多关于 TFS 与 SVN 的讨论。

TFS 是最紧密地集成到 Visual Studio 中的。

SVN 有一些第三方选项可以集成到 Visual Studio 中,它们非常好,但不如 TFS 紧密集成。

Git 具有 GitExtensions,允许在 Visual Studio 中进行低级别集成。

【讨论】:

  • +1 表示没有意见的事实。
  • 另外:TFS 需要预先付费。 Git 使分支和合并更容易、更安全和“更便宜”。
  • 每次我必须离线工作时,TFS 都会杀死我。
  • 是的 - 我试图将个人意见排除在我的回答之外,但除非在即将发布的版本中发生重大变化,否则我无法看到自己永远再次使用 TFS。有一次我们试图在我们的公司采用它时,它扼杀了如此多的生产力,而在以前已经在使用它的公司中,它总是让人头疼。
  • 说句公道话——如果 TFS 2012 带有一个不糟糕的分布式源代码控制工具,我会考虑它,但现在我是 DCVS 阵营的忠实拥护者。
【解决方案2】:

更好是一个很大的讨论,但同样你必须考虑成本。

SVN 是免费的,而 TFS 不是。然而;如果您通过 MSDN 订阅拥有 Visual Studio 并且这是 high enough level,那么您将在发布时通过 MSDN 订阅下载免费获得 TFS2010。这可能是影响平衡的一个因素。

至于与 Visual Studio 的集成,您无法击败 TFS 的 Team Explorer。但是,我已经将 Anhk 与 SVN 一起使用,效果也很好。我想剩下的已经说完了:-)

希望这会有所帮助。

【讨论】:

    【解决方案3】:

    这个问题相当老了,但是以防有人偶然发现:自 2013 年 1 月以来,git 已集成到 TFS 中(公告:http://www.visualstudio.com/en-us/news/2013-jan-30-vso#git 支持)。这意味着团队现在可以使用 git 作为源代码控制工具(而不是“内置”TFS 版本控制系统,但不能同时使用),同时仍将 TFS 的其余部分用于持续集成、问题等活动跟踪等等。

    MSDN上的原讨论:http://blogs.msdn.com/b/visualstudioalm/archive/2013/01/30/getting-started-with-git-in-visual-studio-and-team-foundation-service.aspx

    StackOverflow 有大量相关讨论 (https://stackoverflow.com/search?q=tfs+git),无法指向任何具体内容。

    【讨论】:

      【解决方案4】:

      我只能谈论 SVN 的 Visual Studio 集成。我用过VisualSVNAnkhSVN。它们都具有非常紧密的集成,并允许您从解决方案资源管理器菜单执行各种操作,就像您通常使用 VSS 所做的那样。 Ankh 2+ 版本(我目前使用的版本)对我来说非常稳定,而且比旧版本更好。

      这看起来像是关于使用 Git with Visual Studio 的相当详细的讨论。

      【讨论】:

      • 我已经尝试了所有这些,最终总是回到命令行。 GUI 工具总是让人感觉像是完成了一半的黑客工作。
      • @kprobst:我与 Ankh 的大部分互动都是以 Get Latest 和 Commit 的形式进行的,所以我没有感觉到限制。
      • 我不会把 Ankh 称为半成品的黑客工作,这很好。
      【解决方案5】:

      这是对其他答案的补充,不是完整的答案,因为 Michael Shimmins 满足了我想说的大部分内容

      TFS(尤其是 2010 版)非常容易实现源代码控制技术,而使用 VSS 执行这些技术会非常困难。随着时间的推移,TFS 比 SVN 更容易进行分支和合并。从用户交互的角度来看,我会对 Git 说同样的话,但这些工具正在慢慢变得更好。

      Git 是一个很棒的工具,如果你花时间和社区作为标准实践的技术在任何版本控制系统中都值得付出努力。在超过 2 人的团队中,您仍然会遇到 SLN 和 CSProj/VBProj 文件的冲突。这是这些文件的结构和管理方式的结果。

      【讨论】:

        猜你喜欢
        • 2011-02-11
        • 2020-06-06
        • 2012-10-16
        • 2020-03-29
        • 2013-11-06
        • 2023-02-09
        • 2013-04-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多