This is the Month to Learn Git

The open-source bazaar doesn’t manage itself. Hence git: system of record, automation tool, and the ultimate undo button for bad ideas. There are plenty of reasons for a developer to learn git–to really learn git, beyond the daily routine of branch, commit, push–but three in particular make the investment worth the time.

  1. Context. When you’re spelunking in a project’s past, git-log, git-show, and git-blame are your candles, headlamp, and extra batteries. Used effectively, they’ll help you uncover the motivations buried in the code and help attribute decisions to the developers responsible. You’ll grow more comfortable diagnosing, debugging, and deleting arcane relics from an earlier age. The project will thank you for it.

  2. Confidence. Learning the ins and outs of git-checkout, git-branch, git-merge, and git-rebase will let you navigate any project workflow with ease. You might even use git hooks to automate your workflow; at the very least, understanding git’s branching model will help you contribute to 3rd-party projects and interact with various continuous-deployment schemes.

  3. Portability. Languages, projects, and teams come and go, but they all use version control (they do, don’t they?). There are other tools besides git, but its near-ubiquity for startups (thanks, github) and its growing popularity with enterprise teams mean you’re likely to see it around.

Sound good? Here are several jumping-off points to start from.

  • If you’re already using git but reflexively reach for GithubGUI or SourceTree, github’s interactive git tutorial offers a gentle introduction to the command line

  • If you still feel a little uneasy as you go through the command line motions, the git parable connects git’s core concepts with the problems they set out to solve. Once you have the context, check out git magic for an approachable guidebook for the path from dabbling to mastery.

  • And if you’re comfortable already, hit the docs! Pick a command you already know and find an option you don’t.

Exploring away from the well-trodden path will help you use git more effectively. You’ll write clearer, easily searchable commit messages. You’ll add context to help your team (and your future self) understand why hacks are as they are. You’ll grow more confident contributing to open-source projects and automating their workflow. And the skills you gain will easily transfer between projects, teams, and companies: in the capricious tides of new technology, git is one of the safest bets you can make.

The best time was yesterday; the next best is now. If you’re only going to learn one thing this month, make it git.