I'm really kind of tired of the "git demands you understand the concepts and the model" excuse because that really isn't what's going on. It's just a poor interface with an un-intuitive set of commands that are organized according to what makes sense to the person who developed the software rather than what makes sense to a person using the software.
Lots of systems demand that you learn the underlying concepts and structures. Indeed, nearly all computer systems demand that when you get to a developer, operations, or admin level. It's actually kind of condescending to keep seeing people repeating that over and over. It's not difficult to understand that git is basically a repository of a repository. If you already understand branching and merging from SVN, it's easy to explain git with a single image[0]. It's still difficult to learn to use git and absolutely nothing about the software eases that transition. Claiming the problem must be with the user and their inability to learn the system should clearly have been incorrect somewhere around 8 years ago when people were still struggling to learn it after it had been out for 5 years.
I imagine some day we'll run into a situation that's similar to apt vs apt-get vs aptitude where there are multiple clients that do the same thing, but it's not clear to me if someone will just create a better product before that time comes along (that product is probably the GitHub client).