This series is going to get very technical. If you’re not already familiar with git, you may want to start over here instead.
Most people I’ve worked with treat git somewhat like they might treat an armed bomb with a faulty count-down timer. They generally want to stay away from it, and if forced to interact with it, they only do exactly what some expert told them to do. What I hope to accomplish here is to convince you that git is really more like an editor for the history of your code, and not a dark god requiring specific incantations to keep it from eating your code.
As I’m thinking of this as a Git 201 series, I’m going to assume you are familiar with all bunch of 101-level terms and concepts: repository, index, commit, branch, merge, remote, origin, stash. If you aren’t, scroll back up and follow this link to some 101-level content. Come on back when you’re comfortable with all of those. I’m also going to assume you’ve already read my last post about creating a solid commit.
As you might expect, there’s a lot to be said on this topic, so I’m going to break this up into multiple commits… err posts. To make things easy, I’m going to keep updating the list at the end of this post as I add new ones in the series. So, feel free to jump around between each of them, or just read them straight through (each will link to the next post, and back here).