Git's learning curve feels similar to the learning curve of a programming language like Python.
Once you understand you're not going to pick it all up in an afternoon (just like a language) and that there will be lots more to learn down the road (like a language), git feels great.
Git's learning curve is far worse than Python's, simply due to the limitations of its abstractions - e.g., a branch isn't really a first class entity in Git, yet most people using the centralized server model for Git will tend to think about their daily Git work in terms of branches.
The problem only manifests when you're trying to do things like "show me only commits from branch <X>". Or, "show me when branch <X> was created from master."
Programming language is 80% of my work effort but version control is more like 5%. It should be an utility, I don't want it to be a world of its own right, I don't have needs for insanely powerful version control system because my needs are sane and limited - and that's where git is not so cool.
Version control is social and there you can see a few maniacs ruining it for the rest of the team.
Debuggers aren't much harder than pour and drink.
Dependency managers are pain in the ass (unsolved problem in CS) but you don't wrestle with them every day.
I don't use very many features of my Eclipse and I don't use terribly many commands in vim. I also use arrows, I kid you not.
Once you understand you're not going to pick it all up in an afternoon (just like a language) and that there will be lots more to learn down the road (like a language), git feels great.