Hmmm... let's test it:
$ git merge side-branch
Auto-merging foo
CONFLICT (content): Merge conflict in foo
Automatic merge failed; fix conflicts and then commit the result.
$ git ls-files --stage
100644 257cc5642cb1a054f08cc83f2d943e56fd3ebe99 1 foo
100644 3bd1f0e29744a1f32b08d5650e62e2e62afb177c 2 foo
100644 469a41eda5c8b45503a3bfc32ad6b5decc658132 3 foo
$ <edit foo>
$ git add foo
$ git ls-files --stage
100644 a1b58d38ffa61e8e99b7cb95cdf540aedf2a96b3 0 foo
Now let's test '--unresolve' option of git-update-index:
$ git update-index --unresolve foo
$ git ls-files --stage foo
100644 3bd1f0e29744a1f32b08d5650e62e2e62afb177c 2 foo
100644 469a41eda5c8b45503a3bfc32ad6b5decc658132 3 foo
WTF? What happened to stage 1 (ancestor)?
$ git checkout --conflict=merge foo
error: path 'foo' does not have all three versions
Let's recover it by hand:
$ echo -e "100644 257cc5642cb1a054f08cc83f2d943e56fd3ebe99 1\tfoo" |
git update-index --index-info
$ git ls-files --stage foo
100644 257cc5642cb1a054f08cc83f2d943e56fd3ebe99 1 foo
100644 3bd1f0e29744a1f32b08d5650e62e2e62afb177c 2 foo
100644 469a41eda5c8b45503a3bfc32ad6b5decc658132 3 foo
$ git checkout --conflict=merge foo