Preface

 

A few years ago, while watching an instructional video about how to play the guitar, I heard a great expression. The instructor was demonstrating a complicated strumming pattern. At the correct speed, it looked incredibly fast. He said he’d try to slow it down so we could see what was happening but acknowledged that it would be hard to do so. He said it would be like trying to fall down slowly.

I liked that: fall down slowly.

When Git is demonstrated, it can seem incredibly fast. The fact that it is often demonstrated on the command line adds even more mystery to what exactly is happening with all those commands.

This book is my attempt to slow things down so that you can see and think about every single step that is happening when you interact with Git. I am taking this approach because, when I have presented Git at local user groups, people want to know what each command is doing. In a presentation, it’s hard to cater to each question, but in a book, there is room to explore the details.

Another guitarist, this time on YouTube, gave the sage advice that before you play musical pieces at their correct tempo, you should learn them much more slowly. When you take things slowly, your fingers learn how to properly move, and only after you build confidence can you play a piece faster and faster.

I liked that as well: learn things slowly.