This is a really nice, extensive guide. However, I think when introducing Git and its internals for the first time, it is essential to use graphs/diagrams. This tutorial doesn't have any which is its biggest shortcoming. Regardless, I would still recommend this tutorial to friends.