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'.
Or are you just being picky because Git doesn't name everything exactly the same as other tools do?