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

本文讲述了在使用Git过程中不慎执行了硬重置命令后如何恢复未提交的更改。通过执行特定命令并在.git/lost-found目录中查找,作者成功找回了部分丢失的文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

哎?以前这个文件是什么样的呢?返回上一版本看看吧,于是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的文件可以用上述方法找回。


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值