If you understand correctly, most files now reflect HEAD, while some random subsets (depending on what you opened in your editor) are based on commit $ OLD_COMMIT plus your changes.
HEAD, git reset --hard. , :
, , git status. git reflog, SHA1 $OLD_COMMIT.
git diff $OLD_COMMIT -- enumerate.c every/one.c of/your.c changed/files.c > patch
, patch , git reset --hard, . , patch HEAD. !