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?
Are these solutions integrated with visual studio?
TFS is an Application Life-cycle Management solution, SVN and Git are source control only.
TFS does source control as well as issue tracking, document management, reporting, continuous integration, virtual labs for testing etc.
TFS's Source Control & SVN are centralized source control, Git is distributed.
There have been many discussion on Stackoverflow about TFS vs SVN.
TFS is the most tightly integrated into 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.
Git has GitExtensions which allows for a low level of integration within Visual Studio.
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.
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 :-)
Hope this helps.
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#git support). 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.
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
StackOverflow has a large set of relevant discussions (https://stackoverflow.com/search?q=tfs+git), cannot point to anything specific.
I can only speak to Visual Studio integration for SVN. I've used both VisualSVN and 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.
This looks like a fairly detailed discussion of using Git with Visual Studio.
This is in addition to the other answers, not a full answer as Michael Shimmins satisfied most of what I would say
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.
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.