News for hackers. Stuff that matters.
Re: by simplotek on Saturday November 19, 2022 @05:00AM (#33668754)
> 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?

Re: by codethief on Tuesday November 22, 2022 @07:07AM (#33704857)
> 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%3An...

Re: by Tomis02 on Tuesday November 22, 2022 @07:56AM (#33705237)
In 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?