part-10 · 性能、疑难与进阶

版本历史与文件恢复

从 File Recovery 快照到 Git 回溯、官方 Sync 版本历史,四条退路把误删误改的笔记救回来。

写作的人都有过这种瞬间:洋洋洒洒改了一通,猛然发现把昨天写好的精华删了个干净,而撤销键早已回不到那么远。好在 Obsidian 给笔记配了好几道”后悔药”——从自动快照到版本控制,层层兜底。只要你知道它们在哪,误删误改就不再是灾难。

第一道:File Recovery 核心插件

这是 Obsidian 自带的核心插件,无需付费、默认开启,专门对付”刚犯的错”。它的机制是:每隔固定间隔,为笔记拍下完整内容快照(不是增量,是整篇),存进全局设置目录——注意,这个目录在 Vault 之外,所以即便 Vault 整个出事,快照依然安然无恙。

官方文档写明的默认配置:快照之间至少间隔 5 分钟保留 7 天。两个参数都能在 Settings → Core plugins → File recovery 里调。恢复流程官方给了明确步骤:

  1. 打开 Settings,左侧选 File recovery
  2. 在 Snapshots 区点 View
  3. 在文件名输入框里输入要恢复的笔记名,会弹出建议列表。
  4. 选中文件、回车,列出所有可用快照。
  5. 选中想恢复的快照:点 Copy 把内容复制到新笔记,或点 Restore 整篇覆盖还原。
  6. 可开启 Show changes 对比快照间的增删改,看得一清二楚。

需要记住它的官方局限:只能恢复 .md.canvas 文件;快照按设备本地存储,不会随 Obsidian Sync 同步到其他设备;若你移动过 Vault 位置,旧快照可能因绝对路径对不上而无法访问——官方建议把 Vault 移回原位再恢复。它是”近期的救命稻草”,撑不起长期备份,官方也坦白它并非完整备份方案。

第二道:Git 版本回溯

如果你用 Git 管 Vault(配合社区插件 Obsidian Git),那每一次 commit 都是一个可精确回溯的版本点。误删一段、误改一篇,都能用 git diff 看改动、git checkout 找回旧版、git revert 撤销某次提交。Git 的优势在于粒度极细——精确到行、精确到秒,且历史几乎无限长(只要你定期 push 到远程仓库)。

日常用法:让 Obsidian Git 定时自动 commit + push,相当于给笔记做连续的版本录像。出事时,去 GitHub/Gitee 的提交历史里翻,或本地 git log 找到出事前的 commit,一键回滚。对开发者而言,这是最自然、也最可靠的版本历史方案。

第三道:官方 Sync 的版本历史

付费的 Obsidian Sync 除了同步,还附带了版本历史功能——能回溯每则笔记的每一次修改,按时间点恢复。根据官方方案分级:Sync Standard 保留 1 个月Sync Plus 保留整整 12 个月。这对”几周前甚至几个月前改坏了某篇,今天才发现”的场景格外有用——File Recovery 只留 7 天,而 Sync 能把窗口拉长到一年。

使用上,在笔记里通过 Sync 的版本历史入口浏览历次版本,选中目标时间点即可恢复。它和 File Recovery 互补:前者管短期、本地、免费;后者管长期、跨设备、付费。

第四道:误删笔记的恢复路径

删除操作在 Obsidian 里并非”立即蒸发”,而是分了几级缓冲,逐层去找,多半能找回:

  1. Vault 内的 .trash 文件夹:Obsidian 默认把删除的文件移到这里(可在 Settings → Files & links 改为”移至系统回收站”)。先来这里翻,文件名原样保留。
  2. 系统回收站:若你设置了”移至系统回收站”,去系统的废纸篓里找。
  3. File Recovery 快照:文件被删后,它最近的快照仍在(保留期内),按上面流程恢复。
  4. Git 历史:删除若已被 commit,从历史里 git checkout 找回。
  5. Sync 版本历史 / 远程备份:本地删了,远程 Sync 与 Git 仓库里往往还有副本。

四道防线、五个出口,环环相扣。前提是你平时就把它们备好——开启 File Recovery、配好 Git、留一份独立备份。等出事再想起这些,就晚了。版本历史这件事,从来是”养兵千日,用在一时”的买卖。