误删文件可用git一键还原:若文件显示“deleted”,右键restore changes;否则用git checkout -- path/to/file或git restore;未保存修改直接关闭文件选don’t save;崩溃丢失需检查files.autosave、files.hotexit和window.restorewindows设置。

误删文件后怎么用 Git 一键还原
VSCode 本身不存文件快照,但只要你项目已初始化 Git,被删的文件大概率还在暂存区或最近提交里,不用找备份就能拉回来。
- 先打开源代码管理面板(
Ctrl+Shift+G),看右上角有没有显示“Deleted”状态的文件——有,说明 Git 已跟踪过它,还没git add删除动作,直接右键 → Restore Changes 就行 - 如果文件没出现在“CHANGES”列表,说明已被
git add或git commit过,这时去资源管理器中右键该路径 → Open Timeline,找到删除前那次提交,点进去再右键 → Revert to This Version - 命令行更稳:在集成终端里运行
git checkout -- path/to/file(注意双横线),能立刻从暂存区恢复;如果连暂存区都没了,就用git restore --source=HEAD --staged --worktree path/to/file(Git 2.23+)
改错内容但还没保存,怎么撤回
这种情况最常见也最容易误操作:你改了几百行,还没按 Ctrl+S,突然发现全错了——别慌,VSCode 的「未保存状态」是独立缓存的,和 Git 完全无关。
- 只要
files.autoSave是off(默认值),你没手动保存,磁盘上还是旧内容,Git 看不到任何修改,git status也不会显示它 - 此时关掉文件标签页,VSCode 会弹出“是否保存更改?”提示,选 Don’t Save 就彻底丢弃这次编辑,回到上次保存的状态
- 但如果已经点了
Save,或者files.autoSave开着,那就得靠 Git 撤销:git checkout HEAD -- path/to/file(慎用,会丢掉所有未提交改动)
VSCode 崩溃重启后文件不见了?检查这三个设置
这不是 Git 的问题,而是 VSCode 自己的恢复机制没生效。很多人以为“自动保存 = 不会丢”,其实漏掉了关键一环。
在原版的基础上做了一下修正评论没有提交正文的问题特价商品的调用连接问题去掉了一个后门补了SQL注入补了一个过滤漏洞浮动价不能删除的问题不能够搜索问题收藏时放入购物车时出错点放入购物车弹出2个窗口修正主题添加问题商家注册页导航连接问题销售排行不能显示更多问题热点商品不能显示更多问题增加了服务器探测 增加了空间使用查看 增加了在线文件编辑增加了后台管理里两处全选功能更新说明:后台的部分功能已经改过前台
-
files.autoSave控制是否写入磁盘,files.hotExit才决定崩溃后能不能找回编辑状态——后者默认是onExit,但强制杀进程(比如任务管理器结束Code.exe)时,它可能完全失效 -
window.restoreWindows必须设为all,否则重启后只开个空窗口,连上次打开哪个文件夹都不知道 - Linux Wayland 或远程 SSH 场景下,
files.hotExit经常静默失效;如果总丢未保存内容,先查$HOME/.config/Code/Backups/里有没有时间戳接近崩溃时刻的文件夹
用 GitLens 插件还原单行或某次修改
有时候你不需要整个文件,只想撤掉昨天加的一段日志或注释——Timeline 只能看到文件级快照,GitLens 能定位到具体哪一行、谁、什么时候改的。
- 装好 GitLens 后,在代码行号左侧会出现小圆点(blame annotation),悬停能看到提交信息;右键 → Revert Line(s) 就能只撤这行
- 右键文件 → Open File History with GitLens,点进某次提交,预览里高亮显示变更部分,右键某段 → Revert Selection
- 注意:GitLens 的还原本质还是执行
git restore或git checkout,所以它不能恢复未保存、未写入磁盘的编辑
Git 的还原能力只依赖磁盘文件是否真实存在,而 VSCode 是否帮你“保活”那些没保存的编辑,全看 files.autoSave 和 files.hotExit 配合得够不够紧——这两项一旦关着,删错一个文件、崩一次进程,就真没了。









