Is there any way to recover uncommitted changes to the working directory from a git reset --hard HEAD?
I accidentally ran git reset --hard on my repo today too while having uncommitted changes too today. To get it back, I ran git fsck --lost-found, which wrote all unreferenced blobs to . Since the files were uncommitted, I found them in the other directory within the . From there, I can see the uncommitted files using git show , copy out the blobs, and rename them.
Note: This only works if you added the files you want to save to the index (using git add .). If the files weren't in the index, they are lost.