Resources

Software

  • GitX
    Development on the original version of GitX stalled out years ago. The most recent fork that I know about is the rowanj one, and that one appears to have been dormant since 2014. There are a bunch of Git GUIs available these days; GitX fits my brain and continues to work, so I keep using it. :)
  • Tig: text-mode interface for git by Jonas Fonseca
    suggested by Mark Scholtz, this is a text-mode UI that gives you pretty (but still text-based) views of many of the same things that GitX does. I personally don't have a lot of use for this, but for those of you who really really love your CLI (or your screen readers!), this might fit your working style a bit better.

Free Stuff About Git

  • The Git Parable, 2009 blog post by Tom Preston-Werner
    Explains why you might want to use Git, and why it has some of the features it has. At end, provides links to a few other resources that may be useful.
  • Subversion Re-Education page on a Mercurial tutorial site by Joel Spolsky
    Mercurial is a different distributed version control system, but this one page is incredibly useful if you're coming to Git from Subversion or another centralized system.
  • The Thing About Git 2008 blog post by Ryan Tomayko
    One of the best pieces I've ever read about Git. Explains a lot, especially what the index is.
  • Git is Simpler Than You Think, 2011 blog post by Nick Farina
    Chatty blog post with lots of entertaining pictures. You'll hardly notice you're learning stuff.
  • The Illustrated Guide to Recovering Lost Commits With Git, 2008 blog post by Mathieu Martin
    Sometimes the best way to learn how to fix something is to break it on purpose. Arlo Belshee once told me that when he joins a new team, he likes to force them into a failure mode as quickly as he can, just so he can build trust in their collective ability to recover from it. In that spirit, Mathieu walks you through "losing" work in Git, and then shows you how to get it back again. Great stuff.
  • Git Immersion by EdgeCase Consulting
    This one was suggested by reader Mark Scholtz. I haven't gone through it myself, but at first glance this looks like an amazingly detailed, well supported step-by-step tutorial that starts from the very basics and goes on through some very advanced topics. Thanks, Mark!
  • Production Release Workflow With Git, a blog post by John Wilger
    In January 2011, my manager wrote up this description of the rebase-oriented workflow we'd been using on our team for (then) several months. We've since discovered some subtle problems with this approach and are moving toward a continuous delivery setup. While I do not recommend this workflow now, it's an interesting example of how rewrites to shared history (generally considered extremely disruptive) can work quite well as long as the entire team expects them and has the skills to cope with issues when they arise (which is not as often as you might think).

Stuff About Git You Used To Have To Pay For

  • Git Internals PDF by Scott Chacon (also $12 via Peepcode)
    More detail than you could ever possibly want on how Git works. I've read maybe half of it. It's incredible.

Graph Theory Awesomeness

  • "Algorithm" is not a !@%#$@ 4-Letter Word, RubyConf 2011 slides by Jamis Buck
    Won't teach you a thing about Git—or will it? Either way, if you're not 5 IQ points smarter by the end, I'll personally refund your purchase price.