sublime text 本身不保存文件历史版本,必须依赖git或local history插件:git需仓库初始化,提供log、blame等提交级追溯;local history仅本地定时快照,与git无关,路径独立、不跨设备,仅作临时补救。

Sublime Text 本身不保存文件历史版本,所谓“查看历史版本”必须依赖外部机制——要么靠 Git 记录提交快照,要么靠插件在本地抓编辑快照。没有 Git 仓库,就不存在可靠的历史版本。
Git 插件的 Git: Log 和 Git: Blame 能看到什么
这两个命令只在已初始化的 Git 仓库中生效,且仅展示 Git 已提交的历史:
-
Git: Log列出当前文件的所有 commit(按时间倒序),但每条记录只含作者、时间、message;点某条后按Enter可查看该 commit 对应的完整 diff -
Git: Blame在当前视图左侧显示每行代码最后一次被修改的 commit hash 和作者,鼠标悬停可看 message;它不显示“中间改过几次”,只认最终写入该行的那次提交 - 两者都不支持跳转到某个 commit 的完整工作区状态——想看整个项目当时的模样,得用
Git: Browse Repository打开 Git 图形界面,或手动git checkout <commit-hash></commit-hash>
为什么 Git: Diff 不等于“和历史版本比”
Git: Diff(默认快捷键 Ctrl+Shift+D)对比的是“当前工作区 vs 暂存区”,不是“当前 vs HEAD”或“vs 上一个 commit”。常见误解:
部署一个包含 4 个智能体(agent)的数字孪生平台。在以下情况下使用该技能: 1. 用户希望为物理资产监控与预测性维护等场景搭建数字孪生系统……
- 刚改完文件但没
git add,Git: Diff显示全部变更;一旦git add了,它就变为空——因为暂存区和工作区已一致 - 要看“当前 vs 上次提交”,得用
Git: Diff All(需手动绑定快捷键)或命令面板搜Git: Diff with HEAD(部分插件版本提供) - 如果想对比两个任意 commit,插件不支持;必须切到终端执行
git diff <commit1><commit2> -- path/to/file</commit2></commit1>
Local History 插件的快照不是 Git 历史
它和 Git 完全无关,是 Sublime 自己在本地定时存的编辑快照,适用场景有限:
- 只对**当前打开且有编辑行为**的文件生效,默认每 120 秒存一次;关掉标签页后不再捕获
- 快照路径是项目根目录下的
.sublime-history/,不是.git/;重装系统、换电脑、删掉这个文件夹,历史就彻底消失 - 它完全感知不到命令行修改(比如
sed -i或脚本覆盖)、Git 操作(如git checkout)、甚至其他编辑器的改动 - 恢复方式原始:右键 →
Local History: Show History→ 点快照 → 新开只读窗口 → 手动复制内容,或选Replace Current File(会直接覆盖当前未保存内容)
真正可靠的历史版本回溯,永远建立在 Git 提交基础上;Local History 只是断网、忘 git add 时的临时补救。别把它当 Git 替代品,也别指望它跨设备同步或参与协作流程。










