I think the fact that git forces you to learn how it works is one of its greatest strengths.
It's not like it's rocket science either; git's internals are remarkably straightforward considering what it can do. By having a rudimentary understanding of what git actually is, even supposedly "advanced" features like rebasing and partial commits (git add --patch) make perfect sense.
Git is a tool that will be used constantly. It pays to learn it thoroughly.
The UI of the command line tool is sometimes iffy (git rm --cached?), but that I think is a separate issue. The other VCS systems, being so "user-friendly", don't seem to encourage one to actually learn them. Mercurial's branches still don't make sense to me (bookmarks are better), and SVN I can use almost solely because I've learned some magic incantations that work for what I need to do.
It's not like it's rocket science either; git's internals are remarkably straightforward considering what it can do. By having a rudimentary understanding of what git actually is, even supposedly "advanced" features like rebasing and partial commits (git add --patch) make perfect sense.
Git is a tool that will be used constantly. It pays to learn it thoroughly.
The UI of the command line tool is sometimes iffy (git rm --cached?), but that I think is a separate issue. The other VCS systems, being so "user-friendly", don't seem to encourage one to actually learn them. Mercurial's branches still don't make sense to me (bookmarks are better), and SVN I can use almost solely because I've learned some magic incantations that work for what I need to do.