关于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.md
、xx.js/html/css/json
啥的看你自己咯。不是图片的话再用 Notepad++ 或 Sublime Text 工具尝试打开看一下是不是丢失的文件,但是千万不要修改里边的内容或是更改字符编码!还是那句话“祝您好运咯!”
【4】总结了一下:备份真的很重要啊!!!切记!!!