备份与恢复

MarkNode 会在每次保存文件时自动创建压缩备份——无论是自动保存还是使用 Cmd+S(Windows/Linux:Ctrl+S)手动保存。如果你不慎丢失了内容,或想回到早前的版本,只需点击几下即可恢复。

自动备份的工作方式

每次保存文件时,MarkNode 会在写入新内容之前保存一份上一版本的压缩副本。这一切都在后台透明完成——无需任何额外操作。

  • 自动保存会在你最后一次按键后稍作停顿时触发(约 1 秒无操作)。每次自动保存都会创建一份备份。
  • 使用 Cmd+S / Ctrl+S 进行的手动保存同样会创建备份。
  • 原子写入确保保存操作要么全部完成,要么完全不执行。即使应用在保存过程中崩溃,你的文件也不会处于写入到一半的状态。

备份存储在 MarkNode 的应用数据文件夹中,与你的项目文件分开存放。它们不会弄乱你的项目目录,也不会出现在 Git 中。

空内容保护

MarkNode 会防止你意外保存空内容或内容大幅减少的文件:

  • 如果你试图用完全空白的文件覆盖非空文件,保存操作将被阻止。
  • 如果新内容明显小于现有文件,MarkNode 会在手动保存时弹出确认对话框。自动保存则会静默跳过,以避免数据丢失。

恢复到早前版本

要恢复文件的早前版本:

  1. 右键点击文件标签页在文件浏览器中右键点击该文件,或使用文件菜单,然后选择恢复历史版本
  2. 恢复对话框会打开,显示按时间排序的可用备份列表。
  3. 选择某个备份即可查看其内容的只读预览。
  4. 选择一种恢复方式:
    • 恢复 —— 用备份内容替换当前文件。MarkNode 会先为当前内容创建一份备份,因此此操作始终可以撤销。
    • 恢复为新文件 —— 将备份另存为原文件旁的一个新文件,不修改原文件。新文件以备份的时间戳命名,例如 document-recovered-20260514-153000-123.md

浏览所有备份

恢复对话框还提供浏览所有备份视图,列出项目中所有拥有可用备份的文件。这在以下情况很有用:

  • 某个文件在 MarkNode 之外被重命名,你需要找到它的旧备份。
  • 你想查看哪些文件有备份历史,以及存储了多少个版本。

点击列表中的任意文件,即可查看并恢复其备份。

备份保留策略

备份会被自动管理,以避免无限制占用磁盘空间:

  • 最近 24 小时 —— 保留全部备份
  • 1–7 天前 —— 每小时保留一份备份
  • 7–30 天前 —— 每天保留一份备份
  • 超过 30 天 —— 备份会被删除

一条保留时间线,展示备份密度随时间的变化:最近 24 小时内的每份备份都会保留,过去一周每小时保留一份,过去一个月每天保留一份,更早的备份则会被删除。

约 500 MB 的全局大小上限确保备份不会占用过多磁盘空间。达到上限时,会优先删除最旧的备份。

清理会在 MarkNode 启动时自动运行,并在运行期间定期执行。