Jeff King [off-list ref] writes:
In the general case, you can't represent all failed hunks with conflict
markers, can you?
Conflict markers come from the use of a 3-way merge, and if you were to do
a 3-way merge, by definition, you would need some way to tell where the
preimage of the patch and the target tree you are attempting to apply the
patch forked from. That's done by fall-back-3way in "am -3".
You _could_ lift that logic out of "am -3", but I do not think it is worth
the effort to do so (IOW, I do not see a reason to avoid "am -3").
If you do not want to create a commit for whatever reason, then you can
"reset --soft" back.