I am so used to git now that doing without got would be like being told to work without my arms. But I agree at first we have to learn. I used classes for that in the past, it was helpful.
I use git only in a basic way though (save patches, apply them, rebase, merge, pull, push, change the origin, save the stash, etc). In the past I have learned ways to display the state of a branch in a fancy way for example, but never used it much besides for learning.
My usage may be so basic that I never got frustrated to empathize but for me the only pain in the ass I have is in a team work to merge and rebase sometimes when we edit the same file and I don't know why there was a specific change. In this kind case I just ask (which is rare).