git terms and some different ways to think about them