I need to implement version control, even for just the developing I do at home. I have read about how great subversion is for the past couple of years and was about to dedicate myself to learning this on the side until I heard about Git being the up and coming version control system.

Given the situation, should I hold off and see which one comes out on top? What are their relative advantages?

One issue I noticed with Git is, there are not many full featured GUIs, which is important to many users on my team.

Also, wouldn't mind suggestions on how to get started with one or the other. (tutorials, etc.)


Solution 1:

The most important thing about version control is:

JUST START USING IT

Not using version control is a horrible idea. If you are not using version control, stop reading right now and start using it.

It is very easy to convert from

cvs<->svn<->git<->hg

It doesn't matter which one you choose. Just pick the easiest one for you to use and start recording the history of your code. You can always migrate to another (D)VCS later.

If you are looking for a easy to use GUI look at TortoiseSVN (Windows) and Versions (Mac) (Suggested by codingwithoutcomments)


Edit:

pix0r said:

Git has some nice features, but you won't be able to appreciate them unless you've already used something more standard like CVS or Subversion.

This. Using git is pointless if you don't know what version control can do for you.

Edit 2:

Just saw this link on reddit: Subversion Cheat Sheet. Good quick reference for the svn command line.

Solution 2:

Use subversion, it's easy to setup, easy to use, and has plenty of tools. Any future revision system will have an import from SVN feature, so it isn't like you can't change down the road if your needs grow.

Solution 3:

The Subversion Book is your best bet for learning the tool. There may be other quick-start tutorials out there, but the Book is the best single reference you'll find.

Git has some nice features, but you won't be able to appreciate them unless you've already used something more standard like CVS or Subversion. I'd definitely agree with the previous posters and start with Subversion.

Solution 4:

If you are new to versioncontrol read this:
Source Control HOWTO

Solution 5:

Go for SVN. If you have never used source control before, it won't matter to you one way or the other.

Also, there is not a large amount of learning involved in using a Source Control system. If you learn one, you can easily switch over to another at a later date.

SVN is a great tool, and it should take care of most of your needs. And since it's been around, it has a fair sharer of GUI tools (TortoiseSVN, for example).

Go for SVN.