I recently completed (more or less) the Git Immersion tutorial by Jim Weirich, which walks you through the basics and intermediates of Git, the popular version control system.

While I've known about Git for a while, ever since More Things Need To, I didn't start using it much until I bit the bullet and used it on my own sites. My workflow was disorganized and kinda heinous, but now I'm pretty good at using it personally (the next step is to use it at work!). Breaking down my workflow into manageable chunks that can then be referred back to (and used to recover when you make mistakes that blow things up) is really useful. Coding locally on one machine, pushing to a remote repository, and then pulling all of that code down to a local repository on a different machine is amazing.

Just through using it (and making mistakes) and reading stuff like Pro Git, I was able to get by. The Git Immersion tutorial, however, once followed, made me feel quite a bit more knowledgeable about several parts of Git. The step-by-step approach of explaining and giving clear instructions on what to type and what you should expect to see works for me quite well.

The more complex branching issues that arise from multiple participants in one repository are still a little scary, but one- and two-person programming situations seem pretty reasonable for now.