"Avery Pennarun" [off-list ref] writes:
But how do you abort a *failed* merge in a situation like Linus's
example? "git reset --hard HEAD" would destroy the unstaged Makefile
change.
"All of your work tree changes are easily reproducible" implies you do not
mind losing them, Ok?
Also "git reset HEAD" (that is, without --hard) would not touch the work
tree changes. You need to remove the work-tree cruft left by new files
yourself, if you go this route, though. New files are rare enough so it
may be more appropriate (and you can "git clean -n $that_subdirectory" to
enumerate them).
It all depends on your workflow.