http://stackoverflow.com/a/6780036/229734
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 <path to repo>/.git/lost-found/
. Since the files were uncommitted, I found them in the other directory within the <path to repo>/.git/lost-found/
. From there, I can see the uncommitted files, 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.