3 ms·
In a nutshell, git has an unintuitive and unfriendly CLI with bad defaults. I want my VCS to be quiet, out of sight and do as it's told, because my main focus
by Tomis02 4y ago
In a nutshell, git has an unintuitive and unfriendly CLI with bad defaults.
I want my VCS to be quiet, out of sight and do as it's told, because my main focus should be programming, not how to tame a tool that's supposed to save text. The fact that you have to "learn git", and that there are so many StackOverflow git question on how to do (what should be) trivial operations is probably a hint that things aren't great in the usability department.
For hg, I just read an introductory guide (I think it was Joel Spolski's one) and that was enough. I used to be able to do a more in-depth comparison and criticism but nowadays I use git and try not to think about it too much.
- simplotek 4y ago> In a nutshell, git has an unintuitive and unfriendly CLI with bad defaults. I see this claim often, but it never is accompanied by evidence or any concrete example. I've been using Git for years and I never noticed any semblance of unintuitiveness or bad defaults. Everything in the happy path is straight-forward, and all obscure things are a quick googling away. Do you actually have any concrete example to back your claims? What's the absolute best example you can come up with of said unintuitiveness and unfriendliness?
- codethief 4y ago> I see this claim often, but it never is accompanied by evidence or any concrete example. We've had dozens of discussions about this here on HN – with lots of evidence and concrete examples. https://www.google.com/search?q=git+user+experience+site%3Anews.ycombinator.com&oq=git+user+experience+site%3Anews.ycombinator.com https://www.google.com/search?q=git+user+experience+site%3An...
- Tomis02 4y agoIn case I wasn't clear, "git has an unintuitive and unfriendly CLI with bad defaults" when compared to hg. Just compare the man pages! "git help clone" vs "hg help clone". A random (trivial) example off the top of my head. When working with branches: > git pull > git switch another-branch Your branch is behind 'origin/another-branch' by 2 commits, and can be fast-forwarded. (use "git pull" to update your local branch) ... why? I literally just pulled, why are you asking me to pull again? 99% of the people on the planet literally want the last version of that branch (provided there's no local changes leading to a conflict). Compare with hg: > hg pull > hg update another-branch Done. I haven't worked with hg in a long time so I can't really provide an "absolute best example". All I can say is that, from memory, hg always got out of the way, and when I wanted to do something out of the ordinary I could either guess how to do it or it was easy to figure out from the manual. With git, almost nothing's easy. It can become easy if you invest a lot of time in understanding how it works internally (which explains some of its CLI choices). But that to me is a sign of a bad tool. "all obscure things are a quick googling away" - why expose the user to obscure things to begin with?