git reset --hard xxxxxxx

关于git reset --hard xxxxxxx命令之Git版本回退

今晚代码写着写着就头脑有点发懵,手指也不听使唤了竟然让我敲出了 git reset --hard 命令,然后的然后就是之前所有增改的东西都不见了!!!

慌忙之下赶紧找啊找,还是找不到了,此刻的心情...是多么地复杂!!!怎么办么?赶紧网上找找看有谁曾和我一样倒霉过,好吧第一个就是了,讲解的很详细全面,我真幸运!简述一下就是:

【1】如果你所修改的东西都没有 git commit,甚至也都没有 git add . 或者 git add --all,好吧!你就不必再往下看了,应该是没救了吧(还好我都 add 了,我真幸运)。

【2】使用 git fsck --lost-found 这个命令,通过 .git/lost-found/other 这个路径,你可以恢复任何你 git add 过的文件!再通过 find .git/objects -type f | xargs ls -lt | sed 60q 这个命令,你就可以找到最近被你 add 到本地仓库的 60 个文件,综上所述,希望对你有所帮助!(来自 https://www.cnblogs.com/hope-markup/p/6683522.html 的翻译原话),感谢 前端段子手

【3】找到 .git/lost-found/other 这个路径下的文件,看一下文件大小想想之前修改过的东西,尝试着挨个修改文件的后缀名,例如:xx.java、'xx.jpg/jpeg/png.gif'、xx.mdxx.js/html/css/json 啥的看你自己咯。不是图片的话再用 Notepad++ 或 Sublime Text 工具尝试打开看一下是不是丢失的文件,但是千万不要修改里边的内容或是更改字符编码!还是那句话“祝您好运咯!”

【4】总结了一下:备份真的很重要啊!!!切记!!!

原文地址:https://www.cnblogs.com/wumz/p/9795771.html