Welcome to yet another Git tutorial, because let’s be honest with ourselves: there aren’t enough of them.

Another name for this series might be “Learning Git: I try things that don’t work, so that you don’t have to”. I’ve had several start-stop relationships with Git over the last few years, and for this most recent effort I decided I was going to go all-out; deep-dive; and write up my learning experience afterwards in a way that I wished I could have learned it the first time.

For many folks learning Git, the first command they are introduced to is clone. I’m going to do it differently: In four chapters and four appendices, the last command we’ll talk about is clone – by which time, hopefully, we’ll know exactly what it does and why.

I’m starting a new project, cow-tipper, and I would like to leverage source control. I’m going to use Git. I have my project directory containing my source files, so all I need is a repository.

My experience installing Git can be read here: Appendix A: Installing Git.

The Full Series:

Part 1: The Basics

Part 2: Branching

Part 3: Remotes

Part 4: Remotes II – Reverse the Polarity!

Appendix A: Installing Git

Appendix B: Customizing the Git Message Editor

Appendix C: Petra Rabbit’s Authentication-palooza

Appendix D: What’s the Diff?