I found this an interesting read:
If git didn’t have github, and was slightly less fabulous at branching and merging, I could see getting more grumpy about a lot of these points. I definitely agree that git not doing a good job of providing an abstraction for consumers, and there’s definitely and ever growing amount of command wtf as the complexity of your needs grow. Maybe we’ll end up with an adoption of easygit or it’s kind, or even a git fork that wraps some of the crazy with nice. That would be better for us simple minded folk.