关于git reset --hard导致文件丢失的血的教训

哎?以前这个文件是什么样的呢?返回上一版本看看吧,于是git reset --hard xxxxx便邪恶地运行了好了,
看完了,我该干活了,回我的最新版本吧
沃德天!!!!!!!!头皮怎么有点发麻?我的文件呢???
把桌子翻遍了,都找不到我亲爱的文件的影子,我可是没有add,也没有commit啊,
咋办?于是,上网查呗,一溜达不要紧,都说完了,要重新写,更麻了!
偶然间看到了一个博文,抱着试一试的态度,就运行了一下,唉?有了几个文件!还好,老天待我不薄,其他的咋办呢?重新写吧!
所以,

重点来了,下面是解决已经add,但是没有commit,直接运行git reset --hard xxxxx的情况(因为据说没有add直接返回版本就是死了,而且都硬了的那种)


1. 执行 git fsck --lost-found;

2. 在.git/lost-found目录下找找看有没有你丢失的文件;

3.有的话复制出来,如果是文本,直接改成正确扩展名,你就笑了;

4. 没有的话,就再去Google吧;


特别说明:我的情况是我之前打开了GUI,stage了几个文件,所以可以找回来,如果是修改了由Git管理的文件而没有add的话,再查查资料望告知,谢谢。


提醒:新增的文件,没有被Git管理的文件,是没有影响的,而add了但没有commit的文件可以用上述方法找回。


你可能感兴趣的:(工具学习)