From my own experience with it, I would not recommend git as an introduction to version control. I’ve been using it for a couple of months now and I got the impression that it’s very powerful and - now that I partially hugged it - it’s reasonably intuitive. However, the learning curve is very steep, although I have been using version control for several years. It also suffers from excessive expressiveness - it supports many different workflows and development models, but the only guide to the “best” way to use it is a few pages in a Google search, which also makes it difficult for beginners to go up.
However, it is possible that starting from scratch with git might be easier - my VCS experience is with centralized version control (CVS, SVN, Perforce ...) and part of my (current!) Difficulty with git was understanding the consequences distributed model. I took a quick look at other DVCS such as Bazaar and Mercurial, and they seemed to be a little more friendly for beginners.
In any case, as others have said, Subversion is probably the easiest way to get used to the version control mentality and get hands-on experience with the benefits of VCS (rollback, branches, co-development, a simpler code review, etc.).
Oh, and don't start with CVS. It is still in practical use and has its advantages, but IMHO has too many historical features and implementation problems (non-atomic commits!), To be a good way to find out.
Sam Stokes Sep 23 '08 at 9:32 2008-09-23 09:32
source share