git 恢复未add的文件 执行了reset --hard

背景

        本地编码完成后,出于疏,在未提交代码的情况下执行了 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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值