Git - Version Control
Git is a distributed version control system used by among others the Linux kernel.
Tips on how to use Git
Kernel.org contains documentation about the git commands, and also has a small introduction Everyday GIT With 20 Commands Or So. There is also an online book availible ProGit which provides a nice introduction.
One course at University that did change my behavior with source was a course where one had to keep the source in CVS. CVS back in 1998 was not as advanced as todays tools but still it was a big leaf form keeping code in named directories that mainly me and my labpartner pushed to eachother. The naming of directories were becomming more and more cumbersum the more bugs accumulated in our small projects. After having used a source management system I can not imagine going back.
Time went on and along came Subversion. Some new thoughts to the problems CVS had, and I jumped on it. It was a rather quirky beginning, especially to get to grips with the svn cp to branches. A tag was now a copy? Eventually I became used to the workflow, but as I only used it privately and not in a big team tags and branches were often empty, and I never got into deep problems with merging. I did use Vendor branches extensively, but other merging not so much.
Then I read about the whole bitkeeper thing in the linux kernel news. Followed it interesting, and saw git rise. First in updating my server in the end of 2009 I made the switch for my projects from SVN to git. So far I do not regret it, and the ability to work offline is just one of the nice features I am using a lot.