Recover staged but not committed files after 'git rm -rf'
git, git-fsck, git-rm
Solution
(update) Use `git fsck` instead, it is a builtin command for retrieving files you have once added to git repository.
git fsck --lost-found --unreachable
after the command processing, retrieved files will be placed at `.git/lost-found/other`, with file name of a sha256 hash. Although the original name is still lost, the content will be back.
You can find your files in your `.git/objects` directory.
Suppose there is a `.git/objects/2f/ae996f8f8f9298b41ba4fdbac3d62014f9579e` object, you can execute
git cat-file -p 2fae996
to get the content of your lost file.
But I'm sorry, I have no idea about reconstructing your directory or doing this automatically.
Problem
On my local machine I removed files from folder. ``` git init git add --all ``` then I wrote (don't ask me, why! :) ) ``` git rm -rf ``` I don't commit, yet. Now I have empty folders in my project. In `.git` folder has `objects` with 53 Mb of files. How can I recover my files? I've tried programs like Drill Disc and Stellar, but not found my files. And I can't rollback from GIT. How can I recover the lost files?