You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

提交Git并执行硬重置后所有文件丢失,请求恢复方案

Git文件丢失恢复方案

核心恢复思路:利用Git reflog追踪所有HEAD变动

Git的reflog会记录本地仓库中HEAD指针的所有操作历史(包括reset、commit、push等),这是找回丢失文件的关键依据。

步骤1:查看reflog操作记录

执行命令获取完整操作历史:

git reflog

输出示例(关键条目标注):

2dfe5d6 (HEAD -> driver_account_be_automation) HEAD@{0}: reset: moving to 2dfe5d6e6a47696c11d40a963b1b886071c18a9f
xxxxxxx HEAD@{1}: reset: moving to HEAD
xxxxxxx HEAD@{2}: reset: moving to HEAD~1
xxxxxxx HEAD@{3}: commit: first commit  # 找到这条首次提交的记录,记下对应哈希值

步骤2:验证丢失文件是否存在于目标提交

用以下命令查看该提交的文件内容,确认是否包含丢失的文件:

git show <首次提交的哈希值>

步骤3:恢复文件到本地工作区

根据需求选择恢复方式:

  • 直接恢复到首次提交状态:覆盖当前分支内容,回到第一次提交时的状态
    git reset --hard <首次提交的哈希值>
    
  • 仅恢复文件到工作区:不修改当前分支历史,仅将丢失文件拉回本地
    git checkout <首次提交的哈希值> -- .
    

后续操作提醒

  • git reset --hard会彻底清除工作区、暂存区的未提交内容,使用前务必确认无未保存的重要数据。
  • git push -uf会强制覆盖远程分支历史,极易造成远程数据丢失,非必要不要使用。

内容的提问来源于stack exchange,提问作者roman shukun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 20:27:32