Git has a reputation for having one of the most confusing CLIs ever. However, it's probably better to decide what operations you want to do and work from there to find out the commands needed. That obviates the need to learn so many commands and switches - for me, at least. My training material was also designed like that. My students use them like cheat-sheets until they get familiar enough.