git was never meant to be any kinds of compatible with svn or cvs. Linus does not think very highly of svn (to put it mildly), so of course he wouldn't feel bound by its design. Any naming similarities between the git and svn commands are coincidental.
Any confusion you may harbor about svn vs git checkout is therefore of your own doing. Personally, I blame those "quick git intro for svn users" tutorials.
Now, to clarify your confusion. svn checkout, switch and reset do the same thing: they get files from a repository into a working copy. svn chose to use three different commands for this, whereas git chose just one.
You may still consider that svn's approach was better, and that's fine... but please don't say git is "confusing" when it was you who made the wrong assumptions.
Seigo: ending the cults of personality in free software
Posted Nov 9, 2012 23:13 UTC (Fri) by wookey (subscriber, #5501)
[Link]
I find git's command interface hopelessly confusing too. Git itself is clearly rather clever. The command UI is deeply inconsistent even after you've munged your mental model into something git-shaped. The other surviving VCS's (svn, hg, bzr) have a more logical set of commands that make them a lot easier to get started with. It's unfortunate that we are going to be stuck with git's peculiar command set for evermore. I don't have an opinion on to what degree this is Linus's fault - but it's definitely someone's. I certainly couldn't care less what Desktop he uses, and thought that aseigo's comments on the general issue were pretty sound.
Seigo: ending the cults of personality in free software
Posted Nov 12, 2012 17:19 UTC (Mon) by jwakely (subscriber, #60262)
[Link]
We're not stuck with it forever, for instance 1.8.0 says:
> "git branch --set-upstream" is deprecated and may be removed in a
> relatively distant future. "git branch [-u|--set-upstream-to]" has
> been introduced with a saner order of arguments.
That particular one has caught me out a few times.