TFS,SVN和GIT有什么区别?

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

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

TFS是应用程序生命周期pipe理解决scheme,SVN和Git只是源代码pipe理。

TFS的源控制以及问题跟踪,文件pipe理,报告,持续集成,虚拟实验室testing等。

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

关于TFS vs SVN的Stackoverflow已经有很多讨论了。

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

SVN有几个第三方集成到Visual Studio的选项,他们是相当不错的,但不像TFS那样紧密集成。

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

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

SVN是免费的,而TFS则不是。 然而; 如果您的Visual Studio通过MSDN订阅,并且这个级别足够高 ,那么您将在发布MSDN订阅时免费下载TFS2010。 这可能是一个提示平衡的因素。

至于与Visual Studio的集成,你不能击败TFS的团队资源pipe理器。 不过,我用SVN和Anhk一起工作也很好。 我认为其余的这个说:-)

希望这可以帮助。

我只能说Visual Studio集成的SVN。 我用过VisualSVN和AnkhSVN 。 他们都有非常紧密的集成,并允许您执行解决scheme资源pipe理器菜单中的各种操作,就像您通常使用VSS所做的那样。 Ankh版本(我目前使用的版本)对于我和世界来说都比旧版本更好。

这看起来像是在Visual Studio中使用Git的相当详细的讨论。

这是除了其他答案,而不是一个完整的答案,因为迈克尔·舒明对我所说的大部分都满意

TFS(尤其是2010)对于实现源代码pipe理技术来说是非常平易近人的,而这些技术在VSS中执行起来会非常困难。 TFS比SVN更容易分支和合并,随着时间的推移开始和结束。 从用户交互的angular度来看,我会说Git同样的东西,但是这些工具正在慢慢变好。

Git是一个非常棒的工具,如果你花费了很长时间,那么社区作为标准实践的技术在任何版本控制系统中都是值得的。 您仍然会遇到与SLN和CSProj / VBProj文件在> 2的团队冲突。这是这些文件的结构和pipe理方式的结果。

这个问题是相当古老的,但是如果有人绊倒它:自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 ),不能指向任何特定的东西。