git checkout HEAD -- my-file.txt
# ... which will update both the working copy of my-file.txt and
# its state in the index with that from HEAD.
# -- basically means: treat every argument after this point as a file name.
# undo local changes to specific file
git checkout -- file
git checkout HEAD -- my-file.txt
git checkout c5f567 -- file1/to/restore file2/to/restore