背景
本地编码完成后,出于疏,在未提交代码的情况下执行了 git reset --hard ,导致本地的所有修改全都丢失了。。。欲哭无泪>_<''
但改动还是挺多的,再手动敲一次肯定不行,费时费力。想着有没有什么好的方法能够快速找回丢失的所有改动。 搜了一圈后发现99%的博文都是基于已 git add/git commit 的找回,不能满足我的诉求。 但功夫不负有心人,最终发现了一篇博文可用,就此整理分享出来!
解决
如果使用的是Jetbrains系列产品,那恭喜你,可以恢复。
步骤:
1. 项目右击,选择local history -> show history
2. 选择恢复的时间点,右键,revert即可。
如果你只依赖git,是无法恢复的,只能哭了......
(至于microSoft系列IDE产品有没有本地历史的功能,可以自行探索一番)
拓展
// git撤销单个文件的改动
git checkout -D xxxx
// git放弃本地所有改动,回到当前分支远端最新主线(!慎用)
git reset --hard
// 不删除工作空间的改动代码 ,撤销commit,不撤销add
git reset --soft
// 删除工作空间的改动代码,撤销commit且撤销add
git reset --hard
// 如果commit后面的注释写错了,先别急着撤销,可以运行git commit --amend
进入vim编辑模式,修改完保存即可
参考
[1]. https://www.pianshen.com/article/19241499073/
[2]. https://blog.csdn.net/w_p_wyd/article/details/126028094