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

VS Code中误执行Git丢弃操作,如何恢复未提交的本地修改

恢复未提交且已丢弃的文件修改

以下是几种可行的恢复方案,按优先级尝试:

1. 扫描Git对象数据库找回快照

Git会暂存所有处理过的文件内容,哪怕没提交,你可以通过以下步骤查找:

  • 执行命令扫描丢失的Git对象:
    git fsck --lost-found
    
    这个命令会把未被仓库引用的对象(包括你修改过的文件快照)放到项目根目录的.git/lost-found/other/文件夹里。
  • 进入该目录,逐个查看文件内容,找到匹配你丢失修改的文件:
    cd .git/lost-found/other
    # 循环打印每个文件的内容,方便查找
    for f in *; do echo "--- 文件: $f ---"; cat "$f"; done
    
  • 找到目标内容后,直接将文件复制回原路径即可。

2. 检查VS Code本地缓存

VS Code会自动备份打开过的文件,试试这两个方法:

  • 按Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(Mac),输入「Reopen Closed Editor」,重新打开之前编辑过该文件的窗口,可能会恢复未保存的修改。
  • 查看VS Code的备份目录:
    • Windows: %APPDATA%\Code\Backups
    • Mac: ~/Library/Application Support/Code/Backups
    • Linux: ~/.config/Code/Backups
      按时间排序文件夹,找到包含目标文件的备份,里面的文件大概率保留了你的修改。

3. 查看系统回收站/垃圾箱

如果你是通过系统右键删除的文件,先检查回收站(Windows)或垃圾箱(Mac/Linux),恢复后再重新处理。

4. 用Git reflog排查操作痕迹

虽然git checkout没效果,但可以尝试查找文件的历史对象:

  • 执行命令查找和目标文件相关的所有Git对象ID:
    git rev-list --all --objects | grep <你的文件名>
    
  • 用git show <对象ID>查看每个对象的内容,找到匹配的修改版本后,将内容导出到目标文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 14:02:22