Git: can't undo local changes (error: path ... is unmerged)
You did it the wrong way around. You are meant to reset first, to unstage the file, then checkout, to revert local changes.
Try this:
$ git reset foo/bar.txt
$ git checkout foo/bar.txt
This worked perfectly for me:
$ git reset -- foo/bar.txt
$ git checkout foo/bar.txt
git checkout origin/[branch] .
git status
// Note dot (.) at the end. And all will be good