Git: 50 mins of googling to know what the next 5 commands to type. Hg: 5 mins of googling to know what the next 50 commands to type.
That's quite the odd statement, as all it takes is a 5min tutorial to get up and running on 95% you ever need to do with git on a weekly basis, and 100% of what you do at an everyday basis.
> Hg: 5 mins of googling to know what the next 50 commands to type.
This is not the brag you think it is. If you need to know 50 commands to do daily work with a revision control service, that service is appallingly broken by design.
Also, you forgot to mention the need to install ad-hoc extensions in mercurial to have access to basic stuff.
It's odd only if you are new to DVCS. In the early days of git and hg, git commands were lots of plumbing and very little porcelain. At the time, most people switching from svn to a DVCS almost universally found hg a basically effortless switch. The success of git is due to 1) Linus fandom/cargo cult. 2) Ruby on Rails groupthink, and 3) Github.
> If you need to know 50 commands to do daily work with a revision control service, that service is appallingly broken by design.
Commands to type.
Consider just the simple task of "forget about the last commit I made." Mercurial has like five different ways to do this (hg rollback, hg uncommit, hg strip, hg prune, hg histedit), which work in three totally different ways under the hood (obsolescence markers, backup bundles, or just YOLOing it in the case of Rollback), and which may change their behavior depending on whether you're using `evolve`. As a novice, it's not clear which you should be using (hint: use the evolve extension) or how to recover from mistakes.
Git also has several ways to do it, but all operating on the same principles. Whether you `git reset` or `git branch -m`, or `echo $(git rev-parse $BRANCH~) > .git/refs/heads/$BRANCH`, you're just moving pointers around, and the reflog makes recovery simple.
Wow 5 commands, none of which have a confusing - or -- flag, or are an overload of another command? That's really impressive.
I've been using git non-stop for 7 years at this point. I have no idea how to "forget about the last commit I made." off the top of my head. I'm sure one day soon I'll need to do it, will look it up, and then forget it immediately because gits cli makes no sense.
git config --global alias.uncommit 'reset --soft HEAD^'
Just click the Undo-Button: https://tortoisehg.readthedocs.io/en/latest/_images/commit.p...
And in the last 3 years I used Git a lot more than Mercurial.
But even using Mercurial day-to-day, I had to look up whether `hg strip` or `hg uncommit` has `evolve` integration (no and yes, respectively), and I'm not sure I could fix botched history edits.