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

Git合并后误覆盖本地修改,如何恢复?

恢复未暂存的本地Git修改

方法1:利用Git对象数据库找回

Git会将你修改过的文件内容暂时以「松散对象」的形式存储在本地仓库中,即便未暂存也可能留下痕迹:

  • 执行命令:git fsck --lost-found
    该命令会扫描仓库内所有未被引用的对象,并将它们存入.git/lost-found/other目录
  • 逐个查看目录内的文件内容,比如用cat .git/lost-found/other/[哈希文件名],定位到和你丢失的修改匹配的内容
  • 找到目标内容后,直接复制回原文件,或用git show [对象哈希] > 目标文件名将内容导出到指定文件

方法2:查看HEAD操作历史快照

如果拉取远程更新时Git生成了合并相关的快照,可以尝试回溯HEAD的变更记录:

  • 执行git reflog查看HEAD的操作历史,找到拉取更新前的HEAD记录(格式类似HEAD@{1})
  • 用git diff HEAD@{1} -- 你的文件名对比拉取前后的文件差异,确认是否包含丢失的修改
  • 若差异中存在需要的内容,直接将对应部分复制回当前文件

额外补救:编辑器自动备份

不少代码编辑器会自动创建临时备份文件,可尝试检查:

  • 编辑器生成的.bak或~结尾的临时文件
  • VS Code的.vscode/backup目录(若开启自动备份功能)
  • 系统回收站(若文件被直接覆盖删除)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 07:43:11