Demystifying Git – Series Introduction

Why Git?

Git is used throughout the software industry these days, including for open source projects, in academic settings, and at software companies. Git is incredibly powerful and flexible and provides more than one way to accomplish any given goal. However, similar sounding workflow options can have very different effects on your repository, which can be really confusing if you don’t know what’s going on behind the scenes. This, then, leads to people fighting with git when all they wanted to do was write some code! I don’t want you to have to fight with your version control — I want you to be able to write your software!

Series Contents

In this series, I’ll first cover some git concepts foundational to understanding how git operates and understanding the differences between similar sounding git workflows. Later, I’ll cover more advanced and less common topics. As much of the series will build upon prior posts, I’ll do my best to be clear about which previous topics are most important.

Series Motivation

In my professional life, I’ve worked with git for more than a decade and I’ve helped a number of colleagues become more comfortable with git. I’ve decided to start sharing this info more widely — blog posts can be read by a lot more people than I can personally talk to!

Additionally, I’m hoping to give one or more “Demystifying Git” talks and this blog series will allow me to go more in depth on each topic than a 20 or 30 minute talk.

Links to Series

All posts can be found under the “Demystifying Git” Category. I also plan to link posts from this page. If a topic is listed but not linked, I probably haven’t written the post yet!

Foundational Topics

Advanced Topics

TBD!