Or are you just being picky because Git doesn't name everything exactly the same as other tools do?
Well, it's Git, not Perl :)
I like it a lot, but it is "fiddly" feeling.
To assuage this feeling, I recommend reading the source code for both Git and Subversion. After you realize the flaky shoestring-and-chewing-gum model that holds all your data in subversion, you won't worry at all about Git's UI :)
However, I am mostly complaining because certain very common operations are way more complicated than they need to be.
If there's something complex that you think should be easy, you always have two basic options: - create an alias in your ~/.gitconfig linking a short command name to a long command/argument sequence - create a shell script in /usr/libexec/git-core (or the equivalent) that does what you want, and you can instantly use that in the standard `git <command>` method.
For an example, I have aliased 'co' to 'checkout', 'ci' to 'commit -a', 'pullr' to 'pull --rebase', and 'fp' to 'format-patch --binary'.
I think that's annoying.
And there's no way you can tell me that the git command set is more discoverable than, say, Mercruial's. Many common, every day commands in git are very difficult to figure out without a lot of searching and reading. This is not true with Mercurial.