git TFS、SVN和GIT有什么区别?
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/2589801/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
What are the differences between TFS, SVN and GIT?
提问by masoud ramezani
I use Microsoft Visual SourceSafe for version control. I would like to change this approach and use newer software for this work. What are the differences between these three applications? Which one is better?
我使用 Microsoft Visual SourceSafe 进行版本控制。我想改变这种方法并使用更新的软件来完成这项工作。这三个应用程序之间有什么区别?哪一个更好?
Are these solutions integrated with visual studio?
这些解决方案是否与 Visual Studio 集成?
回答by Michael Shimmins
TFS is an Application Life-cycle Management solution, SVN and Git are source control only.
TFS 是一个应用程序生命周期管理解决方案,SVN 和 Git 只是源代码控制。
TFS does source control as well as issue tracking, document management, reporting, continuous integration, virtual labs for testing etc.
TFS 进行源代码控制以及问题跟踪、文档管理、报告、持续集成、用于测试的虚拟实验室等。
TFS's Source Control & SVN are centralized source control, Git is distributed.
TFS 的 Source Control 和 SVN 是集中式源代码控制,Git 是分布式的。
There have been many discussion on Stackoverflow about TFS vs SVN.
Stackoverflow 上有很多关于 TFS 与 SVN 的讨论。
TFS is the most tightly integrated into Visual Studio.
TFS 是与 Visual Studio 集成最紧密的。
SVN has a few third party options for integrating into Visual Studio and they are quite nice, but not as tightly integrated as TFS.
SVN 有一些第三方选项可以集成到 Visual Studio 中,它们非常好,但不像 TFS 那样紧密集成。
Git has GitExtensions which allows for a low level of integration within Visual Studio.
Git 具有 GitExtensions,它允许在 Visual Studio 中进行低级别的集成。
回答by WestDiscGolf
Better is a big discussion, but along the same lines you have to factor in cost.
更好是一个大讨论,但同样你必须考虑成本。
SVN is free, where as TFS isn't. However; if you have your Visual Studio through an MSDN subscription and this is of high enough level, then you will get TFS2010 for free through your MSDN subscription downloads when released. This may be a factor which tips the balance.
SVN 是免费的,而 TFS 则不是。然而; 如果您通过 MSDN 订阅获得了 Visual Studio 并且它的级别足够高,那么您将在发布时通过 MSDN 订阅下载免费获得 TFS2010。这可能是影响平衡的一个因素。
As for the integration with Visual Studio, you can't beat Team Explorer for TFS. However, I have used Anhk with SVN and that works well too. I think the rest of this has been said :-)
至于与 Visual Studio 的集成,您无法击败 Team Explorer for TFS。但是,我已经将 Anhk 与 SVN 一起使用,并且效果很好。我认为剩下的已经说了:-)
Hope this helps.
希望这可以帮助。
回答by Simon Hawkin
The question is rather old, however in case someone stumbles on it: since January 2013, git has been integrated into TFS (announcement: http://www.visualstudio.com/en-us/news/2013-jan-30-vso#gitsupport). What it means is that the team can now use git as the source control tool (instead of, but not alongside, the "built-in" TFS version control system) while still using the rest of TFS for activities such as continuous integration, issues tracking, and so on.
这个问题已经很老了,但以防万一有人偶然发现:自 2013 年 1 月起,git 已被集成到 TFS(公告:http: //www.visualstudio.com/en-us/news/2013-jan-30-vso #git支持)。这意味着团队现在可以使用 git 作为源代码控制工具(而不是,但不能与“内置”TFS 版本控制系统一起使用),同时仍将 TFS 的其余部分用于诸如持续集成、问题跟踪等。
Original discussion on MSDN: http://blogs.msdn.com/b/visualstudioalm/archive/2013/01/30/getting-started-with-git-in-visual-studio-and-team-foundation-service.aspx
MSDN上的原始讨论:http: //blogs.msdn.com/b/visualstudioalm/archive/2013/01/30/getting-started-with-git-in-visual-studio-and-team-foundation-service.aspx
StackOverflow has a large set of relevant discussions (https://stackoverflow.com/search?q=tfs+git), cannot point to anything specific.
StackOverflow 有大量相关讨论(https://stackoverflow.com/search?q=tfs+git),无法指向任何具体内容。
回答by R0MANARMY
I can only speak to Visual Studio integration for SVN. I've used both VisualSVNand AnkhSVN. They both have pretty tight integration and allow you to perform various operations from the Solution Explorer menu the way you would have normally done it with VSS. Version 2+ of Ankh (one I currently use) has been very stable for me and worlds better than the older versions.
我只能谈论 SVN 的 Visual Studio 集成。我使用过VisualSVN和AnkhSVN。它们都具有非常紧密的集成,并允许您从解决方案资源管理器菜单中执行各种操作,就像您通常使用 VSS 完成的那样。Ankh 的 2+ 版本(我目前使用的)对我来说非常稳定,并且比旧版本更好。
This looks like a fairly detailed discussion of using Git with Visual Studio.
这看起来像是关于在Visual Studio中使用Git的相当详细的讨论。
回答by Ryan Cromwell
This is in addition to the other answers, not a full answer as Michael Shimmins satisfied most of what I would say
这是其他答案的补充,不是完整的答案,因为 Michael Shimmins 满足了我要说的大部分内容
TFS (especially 2010) is incredibly approachable for implementing source control techniques that you would have been terribly hard-pressed to execute with VSS. Branching and merging is much easier with TFS than SVN to start and follow over time. I would say the same thing about Git from an user interaction perspective, but those tools are getting better slowly.
TFS(尤其是 2010)非常容易实现源代码控制技术,而您在使用 VSS 时很难执行这些技术。随着时间的推移,TFS 的分支和合并比 SVN 更容易启动和跟踪。我会从用户交互的角度对 Git 说同样的话,但这些工具正在慢慢变得更好。
Git is a great tool if you spend the ramp up time and the techniques that community take as standard practice are well worth the effort in any version control system. You're still going to run into conflicts with SLN and CSProj/VBProj files in teams of > 2. This is a result of the way those files are structured and managed.
Git 是一个很好的工具,如果你花时间和社区作为标准实践的技术在任何版本控制系统中都值得付出努力。在超过 2 人的团队中,您仍然会遇到与 SLN 和 CSProj/VBProj 文件的冲突。这是这些文件的结构和管理方式的结果。