在VSCode中误删Git仓库所有变更,如何恢复丢失的文件?
Git文件恢复求助(Windows + VS Code环境)
问题经过
- 初始化新Git仓库
- 执行
git add .但未将node_modules加入.gitignore - 向
.gitignore添加node_modules条目后尝试提交,误关闭终端未处理提示窗口 - 打开新终端执行
git add .时,收到仓库存在活跃变更的提示 - 误点击VS Code侧边栏Git区域的「丢弃变更」按钮,最终除
node_modules外所有文件均丢失
已尝试操作
使用git reflog、git log查看Git历史未找到文件痕迹,git log输出如下:
$ git log --oneline --graph * c65d0e7 (HEAD -> master) init
可能的恢复方法
1. 利用VS Code本地历史记录
VS Code自带文件快照功能,即使Git未提交也可能保留版本:
- 打开VS Code,左侧活动栏点击「资源管理器」
- 右键点击项目根目录空白处,选择「本地历史记录」→「显示历史记录」
- 在弹出面板中浏览文件版本,找到目标文件后右键选择「恢复」
2. 检查Git暂存区残留对象
如果之前执行过git add .将文件加入暂存区,可尝试:
- 终端执行:
git fsck --lost-found - 进入项目目录下的
.git/lost-found/other文件夹,里面的文件是Git未关联的对象 - 用
cat命令查看文件内容(如cat .git/lost-found/other/abc123),确认后复制并重命名为原文件
3. Windows系统级恢复
- 回收站检查:直接打开回收站,查找是否有被删除的项目文件,右键恢复
- 文件历史备份:搜索「文件历史设置」,若开启该功能,可从备份中恢复项目文件夹
4. VS Code自动保存快照
- 按
Ctrl+Shift+P调出命令面板,输入「Open User Settings」,搜索files.autoSave确认是否开启自动保存 - 自动备份文件可能存放在:
C:\Users\[你的用户名]\AppData\Roaming\Code\User\workspaceStorage,进入对应工作区文件夹,查找带原文件扩展名的备份文件
内容的提问来源于stack exchange,提问作者Hoppix
相关产品推荐
相关产品推荐

