local history插件不是git,仅在sublime中编辑并保存时每120秒自动存快照于本地.sublime-history/目录,不跟踪命令行或外部工具修改,需手动启用并验证控制台日志,恢复须右键替换当前文件。

Local History 插件不是 Git,也不能替代 Git
它只在你编辑时自动存快照,不跟踪文件系统变更,也不感知命令行或外部工具(如 Webpack、Python 脚本)对文件的修改。如果你指望它找回被 git checkout -- file.py 覆盖的内容,或者恢复被终端 rm -f 删除后又重建的同名文件,它做不到。
它的价值仅限于:你在 Sublime 里改了几行、保存了、又改错、想退两步——这时候它能救你。但别把它当版本控制系统用。
- 快照只存于当前机器的
.sublime-history/目录下,换电脑、重装系统、甚至换个项目根目录打开,历史就丢了 - 没有分支、没有提交信息、没有 diff 对比界面,只有时间戳命名的只读快照文件
- 同一秒内多次手动保存会覆盖,不会叠加;默认每 120 秒存一次,且仅对“已打开 + 有编辑行为”的文件生效
安装 Local History 后必须手动开启并验证日志
装完不会自动启用,很多人卡在这一步却以为插件失效。进 Preferences → Package Settings → Local History → Settings,确认用户设置里有:
{"enabled": true}
然后按 Ctrl+` 打开控制台,修改任意打开的文件并保存,看是否有类似这样的输出:
LocalHistory: saved snapshot for test.py
没日志 = 没触发。常见原因包括:
- Sublime 是以管理员身份运行,而
.sublime-history/在用户目录下,权限不足写入失败(Windows 尤其常见) - 插件安装的是旧版(比如 ST3 时代的),在 ST4 下因 Python API 变更静默失败
- 文件未保存(
Save或Ctrl+S),Local History 不捕获未保存的 buffer 变更
快照位置取决于你如何打开项目,不是.git位置
它完全不认 .git,只看你用 File → Open Folder… 选的是哪一级目录。比如你项目结构是:
/myproject/.git<br>/myproject/src/utils/logic.py
如果你直接打开 /myproject/src/utils/,快照就会建在 /myproject/src/utils/.sublime-history/,而不是 /myproject/.sublime-history/。这意味着:
- 你在
/myproject/下打开的logic.py和在/myproject/src/utils/下打开的同一个文件,历史记录互不相通 - Git 仓库根目录 ≠ Local History 根目录,两者路径策略完全独立
- 如果习惯用侧边栏双击子目录进入,快照很可能散落在各层,后期根本没法统一管理
恢复操作不能覆盖原文件,必须手动复制或右键替换
点击快照后,它只是新开一个只读标签页,内容不可编辑。想“回退到某版”,得自己动手:
- 右键该快照标签页 →
Local History: Replace Current File(注意:这是替换当前**编辑中的文件**,不是快照本身) - 或者全选快照内容 →
Ctrl+C→ 切回原文件 →Ctrl+A→Ctrl+V
没有“一键还原到指定时间点”的功能,也没有撤销替换的操作。一旦误点 Replace Current File,原编辑状态就没了——它不会像 Git 那样先检查冲突或暂存区状态。
最易被忽略的一点:快照文件名里的时间是本地时区,但 Sublime 控制台日志里的时间戳可能带 UTC 偏移,对照时别直接肉眼比对,建议用文件管理器按修改时间排序来辅助定位。











