Most VCSs have a destructive command. If one doesn't expect the destruction from the command, they will no doubt be perturbed.
* You can’t merge upstream changes into your local, uncommitted modifications
Commit.
* Git’s merge conflict resolution workflow is unintuitive
Subjective but I'm curious which VCS has an intuitive merge conflict resolution workflow. I assume this means that without previous experience with the VCS a developer can (immediately?) intuit the workflow.
* Interface for working with the index almost universally confusing
Three switches for a single command. If you want to operate in a business as usual DWIM manner you can just remember --hard.
All that said, I do believe git reuses some commands in a semantically elastic way, sometimes to the confusion of new users.