It’s admittedly been a long time at this point, but I remember my transition from hg to git being very smooth, to the point the only material difference I can recall is the revision numbers in hg.
In terms of CLI friendliness, git has the plumbing layer that should provide stable, low level access to git primitives. It should be possible to losslessly paper over interface oddities like those in that other thread just by replacing the porcelain with something nicer. In fact I wonder if anyone has attempted that.