Chapter 2
Git Guts

Although commonly called a version control tool (and this is certainly the most common use) it is useful to think of Git as an object file system. That might not help much right now, but as we start to learn about Git you will hopefully appreciate why I say this.

In this book we take a bottom up approach to learning git, first learning the detail and then showing how the higher level git commands make many operations simpler.

Why not investigate git top down? I firmly believe that learning only the basic git operations is the cause of many problems people experience using git. The basic git operations commonly taught to new users leads to a misleading mental model of how git works, which in turn leads to confusion when git does not behave according to this faulty mental model. Although learning git ‘bottom up’ takes more effort you are rewarded with git superpowers.