This document provides an overview of using Git like a pro. It discusses Git fundamentals like objects, references and branches. It also covers advanced topics such as rebasing, reflogs, resetting and bisecting to find errors. The goals are to increase understanding of Git internals, solve cumbersome situations, produce cleaner histories and have fun.