执行git reset --hard后文件的恢复

本文详细介绍了如何使用Git恢复未提交或已提交的文件。通过gitfsck和gitreset--hard命令,可以分别在不同情况下找回丢失的文件。对于已添加但未提交的文件,需要经过一系列步骤定位并恢复;而对于已提交的文件,可以直接回退到特定版本进行恢复。

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

1.判断文件是否可恢复

首先判断执行git reset --hard命令之前是否有其他操作:

  • 没有执行git add ., git commit -m'注释'操作,文件不可恢复。
  • 执行git add .,没有执行git commit -m'注释'操作,文件可恢复,比较麻烦。
  • 执行git add ., git commit -m'注释'操作,文件可恢复,属于正常操作。

2.文件恢复

2.1 情况二的文件恢复

#在待恢复的分支下执行,lost文件
git fsck --lost-found
# 如下图所示,找到该路径
cd .git/lost-found/other
# 如果文件太多,手动检查太麻烦,6q表示输出最近6次的add内容
"cmd不能执行的话,使用git bash窗口操作"
find .git/objects/ -type f | xargs ls -lt |sed 6q
# 定位到指定文件,在当前目录下可看到a.md文件
git cat-file -p 名字> a.md
# 查看文档内容
vi a.md

2.2 情况三的文件恢复

# 返回到某一次commit前的代码
git reset --hard xxxxxx(指定版本号) 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值