Earlier quoted context omitted.
I think git is one of the best tools we have, but its UI is really bad: checkout and reset do completely different things when given files or when not given files. reset on files should really have been called unadd . reset on refspecs should really have been jumpto , moveto or something else indicative that the current branch ptr is moved to a new refspec. --soft and friends could have been --no-update-index or --no…
None of that says "really bad UI". Quirky, sure. Not as straightforward as others. Could definitely be improved. But not "really bad". Though I will add that the index is a horribly named concept and it really bugs me that different commands use different names for it ("--cached", but sometimes "--index"). They need to rename it to "staging" and change all the command line options to --staging (keeping the old ones a…
I wouldn't call strychnine a poison. It's just a quirky food additive.