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

Git数据丢失恢复咨询:未提交修改及分支回滚后的数据找回

Git数据恢复问题解答

问题1:主分支所有数据被切换至较晚提交后丢失,能否找回该部分数据?

可以找回。Git会记录本地仓库的所有操作历史,哪怕是被覆盖的提交,只要本地仓库未被删除,就能通过以下步骤恢复:

  • 执行git reflog命令,查看本地所有分支的操作记录,找到被覆盖前的目标提交哈希值(一串7位或更长的字符)。
  • 直接切换到该提交:git checkout <目标提交哈希>,此时会进入分离头指针状态;若要保留该提交,可创建新分支:git branch recover-branch <目标提交哈希>,之后切换到新分支即可继续工作。

问题2:06/01向Git推送代码后,一个月仅修改文件但未执行add、commit及push操作,同事拉取更早提交覆盖工作文件,未提交的修改能否找回?

分两种情况处理:

  1. 从未执行过git add:这类修改仅存于本地工作区,Git并未对其做任何快照记录,被覆盖后无法通过Git工具恢复。只能尝试使用系统级文件恢复工具,比如Windows回收站、macOS Time Machine、Linux的extundelete等,看能否找回被覆盖前的文件版本。
  2. 曾执行过git add但未commit:Git会将已add的文件内容暂存到对象库中,可通过以下步骤尝试恢复:
    • 执行git fsck --lost-found,该命令会扫描Git对象库,将丢失的对象存入.git/lost-found/other目录。
    • 查看该目录下的文件内容,找到对应修改的文件,将其复制到工作区即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 10:12:08