Best version control system: Git, Subversion, or other?
We're starting a new project. Until now we have been using VSS (Visual Source Safe).
VSS has worked well for us, but it is time to move on to a more 'fresh', or commonly used version control system.
After doing some research it seems that Git and Subversion are frequently used in the .NET world.
1) Are Git and Subversion the most commonly used or are there other popular version control systems out there?
2) Which one is the best in your experience: Git, Subversion, or any other system.
BTW: We have 2 important requirements.
1) Integrated with the Visual Studio 2010 IDE.
2) Needs to support remote access (we have some remote workers).
Jacob Tanner, Mar 17, 2011
I have worked with both Svn and Git, and I would choose Git anytime. Git is easy to setup and get started. Also, Git is much faster to work with than Svn, and I have a lot less issues with Git than with Svn.
Git is a distributed VCS, meaning that each user has its own repo, and later on push their changes to a central repo. This has many advantages against Svn that only has a central repo.
However, if you choose to use Svn I'd recommend that you use VisualSVN addin to Visual Studio and the VisualSVN Server to manage your repository.
As a side note, when working with Git, I have found that I do not have a need for any Visual Studio integration that I always had with VisualSVN. Git just works from the command line.
I have no experience with TFS, so I can't comment on that.
Robert Blixt, Mar 19, 2011
We use Subversion with VisualSVN Server and VisualSVN client plugin for Visual Studio. The server is really easy to setup and configure repositories and the plugin integrates very nicely with Visual Sudio (2005, 2008 and 2010 are supported).
VisualSVN Server also supports remote access via HTTP/HTTPS.
VisualSVN Server (Free) - http://www.visualsvn.com/server/
VisualSVN - Visual Studio plugin (Free 30 day trial, then $49 for licence per developer) - http://www.visualsvn.com/visualsvn/
I haven't used Git so can't comment on it's pros or cons.
Matt Fothergill, Mar 18, 2011
TFS is good, but if you don't have license and want to try something different, go with GIT. I have evaluated GIT and it seems to work nicely with Visual Studio.
Besides, it also integrates nicely with VS2010 IDE as well and also it is primarily designed to have remote support as well.
Check the below URL, how use section which describes how to integrate with VS.
There are also many good articles/tutorials available on using GIT and managing the workitem lifecycle..... Some good examples can be found here..
The above article explains all the necessary command to work with GIT. The same can be achieved directly from inside the Visual Studio IDE as well. But knowing the basic commands comes in handy many times....
Rajesh Pillai, Mar 17, 2011
You could use Team foundation server which is pretty robust already and easily configurable with a ton of features.
I've never tried Git and have used subversion a lot prior to using TFS, it's got integration for vs2010 as well and has i think a 30 day trial which you could use to evaluate the product.
Gerard del rosario, Mar 17, 2011