问题
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?
回答1:
(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.
回答2:
have you tried :
git reset --hard
?
Hope that works :)
来源:https://stackoverflow.com/questions/14475003/recover-staged-but-not-committed-files-after-git-rm-rf