Git恢复 git rm -rf 的文件

今天误删了熬夜写的所有的代码,情况是没有过commit,但用git rm -rf将所有代码全删了。。。

原因啊什么的就不说了,直接上解决办法:

首先用:

git prune -n

可以列出所有的二进制文件,使用git删除的文件还会缓存在.git中;
类似:

efb488d1d1b6b29f1caaa5f087432a17ea9128fe blob

然后用:

git cat-file -p efb488d1d1b6b29f1caaa5f087432a17ea9128fe

可以将二进制文件内容输出为文本显示。看到文本内容后判断是什么文件,最后

git cat-file -p efb488d1d1b6b29f1caaa5f087432a17ea9128fe > filename.py

将文本存入文件中,恢复此文件。

参考:http://stackoverflow.com/a/13611145