local history是webstorm自动维护的本地快照系统,不依赖git,只要文件曾被索引且删除在5天内,即可通过父目录右键show history找回;快照存于.idea/localhistory/,默认保留5天。

Local History 不是 Git,但它能在没提交、没开版本控制的情况下救你一命——只要文件曾被 WebStorm 索引过,且删除发生在最近 5 天内,基本都能找回来。
Local History 是什么,为什么它能找回没提交的文件
Local History 是 WebStorm 自动维护的本地快照系统,基于文件系统事件(保存、重命名、删除等)触发,每分钟或每次显式操作都会记录。它不依赖 Git,也不需要你手动配置,只要 WebStorm 曾打开并索引过那个目录,就可能留有痕迹。
- 快照存在
.idea/localHistory/目录下,关 IDE 或重启不影响 - 默认只保留 5 天内的记录,超时自动清理
- 大文件夹如
node_modules、build/不会被记录 - 从未被 WebStorm 打开过的文件(比如直接用 VS Code 编辑后扔进项目),Local History 压根不知道它存在
右键 Show History 后找不到误删的文件?检查这几点
常见现象是点了 Show History,时间线里一堆条目,但展开后看不到刚删的那个文件名——不是功能失效,而是路径或时机不对。
- 必须右键点击**原文件所在父目录**(比如删了
src/api/user.ts,就右键src/api/文件夹,不是项目根目录) - 如果整个文件夹都被删了,先在原位置建一个同名空文件夹,再用 WebStorm 打开它,然后对这个空文件夹右键操作
- 时间戳要选“删除操作发生前”的那条——通常带
External change或Deleted标记,但不是所有都标得清楚,建议从最新一条往前翻 - 如果删完立刻关了 WebStorm 超过 24 小时,中间状态可能已丢失;没保存过、也没触发过重构/格式化等操作,也可能没生成快照
Revert 和 Copy Path From Revision 的区别与风险
Revert 是覆盖写入,危险但高效;Copy Path From Revision 是安全导出,适合比对或临时验证。
- 对文件右键 →
Revert:直接把当前磁盘上的同名文件替换成历史版本(若已有新内容,会丢) - 对文件右键 →
Copy Path From Revision:把该历史版本另存为一个新文件(如date.js-20260416-1422),可手动比对后再决定是否替换 - 对整个目录右键 →
Revert Selection:会恢复该目录下所有当时存在的文件,包括已被删的和被改过的——慎用,尤其当目录下有大量新文件时 - 执行前建议先
git stash或手动备份当前工作区,避免不可逆覆盖
Local History 找不到?下一步该试什么
Local History 失效时别硬拖时间线,立刻切换策略:
- 查系统回收站(Windows/macOS):WebStorm 删除文件本质是调用系统 API,很多情况下只是移入回收站
- 看
Recent Changes(Alt+Shift+C):它按时间倒序列出最近所有增删改操作,定位到Deleted条目后直接右键Revert - 如果文件曾
git add过但没 commit,去Git → Changes标签页的Local Changes区域,红色显示的已删文件可右键Rollback - 如果完全没碰过 Git,又不在回收站,且 Local History 无记录——那大概率只能靠编辑器缓存(如 Firefox 的
~/.cache/mozilla/firefox/)或本地备份工具了
真正容易被忽略的点是:Local History 不记录“未被索引的路径”,哪怕你把文件拖进项目里,只要没双击打开过、没被 WebStorm 解析过结构,它就不会出现在快照中。所以恢复成功率,本质上取决于你平时有没有让 WebStorm “看见”那个文件。











