每次同步都明明白白——Obsidian 5种同步方式详解

📅 2026/8/11 17:28:08
每次同步都明明白白——Obsidian 5种同步方式详解
你有没有过这种经历点了同步按钮之后心里默默祈祷千万别把我的新版覆盖了大多数同步工具的设计哲学是帮你自动搞定一切。听起来很美好但现实是自动意味着你失去了控制权。你不知道它在传什么、往哪个方向传、会不会覆盖你的修改。等发现不对的时候往往已经晚了。Nutstore Sync做了一件反直觉的事它没有追求无感全自动而是把每一次同步的控制权完完整整交到你手里。每次点击同步你都会看到一个弹窗上面列着即将执行的操作清单以及五个同步方向让你选。这五个方向不是摆设每一个都对应着完全不同的使用场景选对了事半功倍选错了可能丢数据。这篇文章把这五个方向拆开揉碎了讲清楚让你从此告别点同步之前先备份的焦虑。开始之前说一句Nutstore Sync是坚果云官方Obsidian同步插件是免费的每个月都有免费的1G上传流量3G下载流量。坚果云从2011年上线到现在已经稳定运行了15年如果你还没有账号可以先注册一个免费的开始体验坚果云官网。一、为什么黑盒同步是一种危险的设计先聊一个根本问题为什么同步方向需要你来选传统的同步工具包括Remotely Save这类WebDAV插件走的是一条自动比对→自动同步的路。它的逻辑大致是扫描本地和云端的所有文件→比较修改时间→以最新的为准→自动推送或拉取。这个过程对你来说是完全不可见的。你不知道它做了哪些决定不知道它覆盖了什么不知道它跳过了什么。等你打开一个文件发现内容不对了再去追溯到底是哪次同步出了问题——几乎不可能。黑盒同步的三大风险静默覆盖你在手机上新写了一整段内容桌面端修改了一个标题。同步时因为桌面端文件修改时间更新整个文件以桌面端版本为准——手机上的新段落丢了。你甚至不知道它什么时候丢的。冲突文件堆积检测到冲突时系统自动生成一个.conflicted副本扔在你旁边。一周下来你的根目录多了一排笔记名冲突副本-2026-08-11.md。每个都得手动打开比对、合并、删除。无法应对异常状态你的云端数据因为某种原因损坏了配置错误、误操作、第三方服务故障你想用本地正确的版本覆盖云端。但自动同步不给你这个选项——它只会继续傻傻地比对和同步你无法告诉它这次只听我的。Nutstore Sync的解决方案很直接既然自动判断不可能永远正确那就让每次同步都变成一个有意识的决策。二、五种同步方向逐一拆解每一次你点击同步按钮Nutstore Sync都会弹出确认框展示即将执行的同步操作列表外加4项重要提醒然后让你从五个方向中选择一个。这五个方向是2.1 双向同步Bidirectional它做了什么本地有新增和删除→同步到云端云端有新增和删除→同步到本地。两边的最新状态互相靠拢最终保持一致。最适合的场景日常正常使用。你在桌面端写了一篇新笔记在手机上删了一篇旧笔记同步之后两端都同时有了新笔记、删了旧笔记。这是90%情况下你应该选的模式。选错的代价如果你在双向同步和仅接收之间犹豫选了双向通常不会有灾难性后果——最多就是多了一些你不想要的云端变化被拉了下来。但如果你本意是想用本地彻底覆盖云端选了双向那云端的一些旧数据可能被保留下来。一个典型场景你上午在公司电脑上写了项目方案下午在家用笔记本补充了数据表格晚上用手机又加了两条备注。睡前打开桌面端选双向同步三台设备的所有改动合并到一致状态。2.2 仅发送Send Only它做了什么只把本地的变化推送到云端。云端有什么变化不管。云端的文件比本地新不管。只做一件事把本地的当前状态发给云端。最适合的场景首次使用插件时把本地仓库上传到云端作为初始版本做重要修改之前先把当前稳定版本备份到云端你只想发布内容到云端供别人查看但不想接收别人的修改选错的代价如果你选了仅发送但云端有其他设备上传的新内容等着你接收——那些内容不会被拉下来。你可能会错过同事更新的内容或者手机上新拍的笔记照片。但这个方向的好处是保守——你本地的东西绝不会被覆盖。一个典型场景你刚完成了季度总结的终稿在发给老板之前想确保云端有一份最新备份。选仅发送把终稿推上去。如果有同事之前也修改过这个文件他的改动不会被拉下来污染你的终稿。2.3 仅发送覆盖云端变更Send Overwrite Cloud它做了什么这是仅发送的强力版本。不管云端现在是什么状态全部用本地的版本覆盖掉。云端的文件比本地新覆盖。云端有你本地没有的文件不删仅发送不会主动删除但同名文件一律以本地为准。最适合的场景云端数据因某种原因损坏或错乱了本地是已知的正确版本你做了大量本地修改后想确保云端100%等于本地灾难场景云端被误操作污染了需要从本地恢复⚠️ 危险提醒如果你有其他设备在云端有未同步到本地的修改选了仅发送覆盖那些修改就没了。使用这个方向之前请确认你真的不需要保留云端的任何东西。一个典型场景你在Mac上不小心用了一个有bug的自动化脚本把云端的一批笔记文件内容改乱了。你发现Windows笔记本上还保留着正确的版本因为没有同步过。在Windows上选仅发送覆盖云端变更用正确版本把云端修复。2.4 仅接收Receive Only它做了什么只从云端拉取变化到本地。本地有什么修改不管。本地的文件比云端新不管。只做一件事把云端的当前状态拉到本地。最适合的场景在新设备上首次同步——把云端已有的仓库拉下来你刚刚在另一台设备上做了大量工作现在只想在当前设备上获取那些更新你本地做了些实验性的修改但不想上传只想拉取团队的更新选错的代价如果你选了仅接收但你本地有一些还没同步到云端的新内容——那些内容不会被上传。但它们也不会丢失只是暂时留在本地下次同步时可以推送。一个典型场景你出差带了一台新笔记本上面还没有Obsidian仓库。安装Nutstore Sync插件→OAuth登录→选仅接收→几分钟后整个知识库完整出现在本地。你之前的桌面端有什么配置、什么插件、什么主题——全部原样下来。2.5 仅接收还原本地变更Receive Restore Local它做了什么这是仅接收的强力版本。不管本地现在是什么状态全部用云端的版本覆盖掉。本地有修改但没同步的文件丢弃。本地有云端没有的新文件不删仅接收不会主动删除但同名文件一律以云端为准。最适合的场景本地仓库被损坏、误删、或被勒索病毒加密——用云端完整还原你在本地做了一堆修改后发现方向全错了想回到云端的最新状态重新开始新设备初始化——和仅接收效果类似但更彻底⚠️ 危险提醒这是五个方向中最具破坏性的。选了它本地所有未同步的修改将永久丢失。别在不确定的时候用它。一个典型场景你的笔记本电脑中了勒索病毒所有笔记文件被加密成了乱码。查杀病毒之后你打开Nutstore Sync选仅接收还原本地变更。云端的干净版本覆盖下来所有笔记恢复如初——因为云端保留了文件的历史版本即使被加密的文件同步上去了也可以回滚。三、确认弹窗——透明到每一个操作五个方向选完之后不是直接就执行了。Nutstore Sync会弹出一个确认窗口里面包含两个关键信息执行列表插件的同步引擎先扫描本地和云端的差异然后把即将执行的操作一一列出来哪些文件会上传新增哪些文件会下载新增哪些文件会更新修改哪些文件会删除你不是在猜同步会发生什么你是在看着清单确认。如果你看到某个文件不应该出现在删除列表里你可以取消同步先去排查问题。四项提醒除了执行列表确认弹窗还会展示四项重要提醒帮你再次确认自己的选择你选的是哪个方向它的具体含义如果选了覆盖类方向再次提醒可能的数据丢失风险同步过程中不要关闭Obsidian建议在同步前确保网络稳定这种设计在同步工具里极为罕见。大多数工具的哲学是少让用户看到细节减少认知负担。Nutstore Sync的哲学正好相反认知负担不是靠隐藏信息来减少的而是靠让信息清晰可读来消解的。Remotely Save的对比Remotely Save没有任何执行预览机制。你点同步它在后台默默地比对、默默地传输、默默地产生冲突文件。你唯一能做的就是等待或者事后翻日志。这不是说Remotely Save的同步结果一定会有问题——它大部分时候也能正常工作。但能工作和你能完全掌控之间差的就是这个确认弹窗。四、方向选择的决策框架为了避免每次同步都要纠结选哪个方向这里整理一个快速决策框架你的情况推荐方向为什么日常使用多设备之间保持同步双向同步新增和删除双向传递最自然的模式刚装好插件第一次上传仓库仅发送把本地推上去建初始版本换新电脑/重装系统拉取已有仓库仅接收从云端完整拉取云端数据出错了本地是对的仅发送覆盖云端用本地正确版本修复云端本地仓库损坏/被病毒加密仅接收还原本地用云端干净版本覆盖本地只想备份本地到云端不看云端的更新仅发送单向发布不接收只想看别人更新了什么自己的修改不上传仅接收单向获取不发布五、方向选择 冲突策略的组合效果同步方向和冲突策略不是独立的——它们组合在一起会产生不同的效果。Nutstore Sync提供4种冲突策略详细拆解在另一篇文章里这里先概述无冲突合并修改不重叠就自动合并Diff3合并生成Git风格的冲突标记可配合AI辅助解决本地优先覆盖服务器碰到冲突直接用本地版本服务器优先覆盖本地碰到冲突直接用云端版本组合示例“仅接收还原本地” “服务器优先” 彻底用云端状态重置本地不做任何智能判断最干净的还原。“双向同步” “无冲突合并” 日常最佳组合不同段落的修改自动合并只有真正的冲突才需要你介入。“仅发送覆盖云端” “本地优先” 冗余但安全——两个设置都指向同一个结果本地说了算。理解这些组合可以帮助你在特殊场景下做出精准选择。日常使用时建议保持双向同步 无冲突合并即可。六、QAQ1我选了错误的方向同步了能撤销吗取决于你选的什么方向、造成了什么后果。如果是仅发送导致云端多了不该有的文件你可以手动删除。如果是仅接收覆盖导致本地丢了修改——那很难直接撤销。但坚果云保留了文件的历史版本你可以去云端找回被覆盖之前的版本。所以选方向前看清楚执行列表是最重要的。Q2为什么不在每个方向上做差异预览执行列表本身就是差异预览——它告诉你哪些文件会被新增、修改、删除。只是它不展示文件内部的逐行差异那是冲突策略的职责Nutstore Sync有Diff3合并可以实现这个。Q3手机端和桌面端的方向选择一样吗一样。移动端的Nutstore Sync插件同样弹出确认框同样有五个方向可选同样展示执行列表和提醒。手机上操作空间更小所以建议移动端尽量用双向同步省心模式把复杂的方向选择留给桌面端。Q4第一次使用应该选哪个方向分两种情况你的Obsidian仓库在本地已经有很多内容了→选仅发送把本地推上云端你的仓库在云端已经有了从另一台设备同步过→选仅接收从云端拉下来Q5团队协作时每个人都应该用什么方向团队场景下推荐所有人都使用双向同步作为默认模式。如果有成员需要只读知识库只看不改可以配合坚果云的权限设置将该成员的文件夹访问权限设为只读这样即使他选了双向同步也推不上去修改。Q6如果同步过程中网络断了怎么办Nutstore Sync有断点续传机制。移动端使用16MiB分块下载断网后重连会自动从上次中断的位置继续。你不会丢已经传输好的数据。Q7Remotely Save有类似的方向选择吗没有。Remotely Save是黑盒式自动同步不提供方向选择、不展示执行列表、不弹出确认窗口。你点了同步剩下的交给运气。Q8我能不能设置默认方向不用每次都选目前五个方向必须在每次同步时手动选择。这个设计是刻意的——Nutstore Sync认为同步方向不应该是一个设完就忘的配置而应该是一个每次执行时的有意识决策。习惯之后大多数情况下你只需要看一眼执行列表确认无误然后选双向同步并确认——整个过程不超过3秒。