Logseq 中文文档 下载 App

同步冲突:多端编辑同一页面怎么解决

冲突什么时候发生

当两台设备几乎同时修改了同一份数据时会发生冲突。具体场景:

预防:最重要的一条

同一时间只在一台设备上编辑 Logseq。其他设备上的 Logseq 关掉(或打开但不编辑),等主设备写完、同步完成后,再到其他设备打开查看(只读)。

这是最简单也最有效的冲突预防——两台设备同时写是冲突的根源。

冲突后的处理步骤

Logseq Sync 冲突

  1. Logseq 会弹出冲突提示框,列出冲突的块
  2. 提示每个块的两份修改(你这边的 vs 其他设备的)
  3. 逐个决定保留哪一份,或手动合并两边的内容
  4. 合并完成后点击「Resolve」→ 重新同步

Logseq Sync 的冲突处理相对友好——它是块级的,告诉你哪个具体块冲突了、两边分别改了什么。

Git 冲突

  1. 执行 git pull 时发现冲突,Git 在文件里插入:
<<<<<<< HEAD
你的版本内容
=======
另一台设备的版本
>>>>>>> main
  1. 打开冲突文件,手动决定保留什么(通常两边都有用,把两边内容拼起来)
  2. 保存文件,git add + git commit + git push

关键提示:不要用自动合并工具对 Markdown 文件做自动合并——Markdown 的缩进和列表结构很容易被自动合并搞坏。手动合并更安全。

文件同步工具(iCloud/Syncthing)冲突

合并技巧

Markdown 合并时的原则:

  1. 缩进不变 — 不要破坏原有的 - / * 缩进结构
  2. 两边都保留 — 如果两边都加了不同的子块,把两边子块都保留在正确的父块下
  3. 属性不冲突 — 属性是单行 key:: value,两边不会同时改同一个属性(一般不会)
  4. 链接检查 — 合并后打开页面,点一下几个关键链接,确保没断

冲突后数据安全

无论哪种同步方案,冲突都不会丢数据——最差情况是两边的内容被分开保存,你需要手动合并。即使最坏情况下合并错了、搞乱了,你还有:

定期完整备份永远是最底层的保险。