I recently switched to Git to manage the source code for projects I work on. I still use CVS to manage Drupal modules on drupal.org and SVN for many client projects. But, when I have a choice I choose Git.
Git, for those of you who don't know, is one of the most popular Distributed Version Control Systems (DVCS). A DVCS can be used in a traditional central repo style setup or a distributed approach. For more details checkout the Wikipedia article on Distributed Version Control.
Why I Switched To Git
When I initially started using a DVCS and moved away from SVN I turned to Bazaar. It was easy to switch to bzr because the syntax is similar to SVN and the basic usage is fairly straight forward and simple. I knew git was powerful but the lack of good Windows support left me wanting something that could be used more universally. That is no longer a problem thanks to msysgit.
What caught my attention about Git wasn't so much the impressive technology. It was the community surrounding Git. If I wanted a tutorial, application to interface with it, hosting service, or most other things I wanted in a version control system, it was there for Git.
Tutorials To Help With Switching
Git does things very differently than other version control systems. Sometimes this is due to the features and other times it's just because Git wants to do its own thing. In some cases it is quite annoying. Especially when the command to do something in CVS or SVN simply has a different name in Git. Needless to say, the Git learning curve can be more than a little steep.
Thanks to the wonderful Git community there is more than one tutorial on the topic:
- Git Ready - Learn git one commit at a time.
- Learn Git - How to with git from the people at github.
- Everyday Git - Git in 20 Commands
If you're looking to make a version control change or want to jump on the bandwagon of coming changes git Git a try.