On my local machine I removed files from folder.
git add --all
git rm -rf
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
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.