近期有一位读者提问:
我参考文章使用 Working Copy 进行 Obsidian 同步,其中 Link Repo 这一步在 iPhone 上是秒完成的,但是在 iPad 上一直卡转圈无法完成,请问是什么原因?
这里提到的参考文章是这两篇——
这个问题其实还挺常见的,这是因为 Git 仓库在 Working Copy 中不应该 Link Repo 到 iCloud 文件夹内,而应该存储到本机的文件夹(在文中有提到)。
我想有必要写一篇文章来讲讲 iCloud 和 Git 方案分别是怎么实现的,以及为什么不要同时使用。
当我们使用 iCloud 和 Git 时,分别在做什么?
直接用 iCloud 同步 Obsidian 时,Macbook 上编辑并保存文件后,iCloud 会将其实时同步到云端。当拿起 iPhone 时,文件又会实时同步到手机端,反之亦然。
其他云盘类的工具也大多遵循这个逻辑,比如 Dropbox、OneDrive。
用 Git 同步 Obsidian 时,Macbook 上编辑并保存文件后,需要通过 git push 把“这一批文件”一次性发送到 Github。当拿起 iPhone 时,需要通过 git pull 把“这一批文件”拉取到本地。
如果完全按照这篇文章的设置,Obsidian Git 和 Working Copy 都会帮我们自动完成 pull 和 push 操作,无需手动执行。
通俗地讲,总结起来就两点:
- iCloud 是实时同步的,你写完一个笔记,iCloud 就自动同步了。
- Git 操作,是电脑 push,手机 pull,才会同步过来。
一般来说,只要是单独使用这两种方案,都可以正常实现“同步”的需求。
但我也提到过“网盘实时同步的麻烦事”,网盘并不能很好地识别 Obsidian 关联修改文件的操作,可能会创建出一堆历史版本,影响正常使用。所以我更推荐仅使用 Git 方案。
为什么不要同时使用 iCloud 和 Git?
而在文章开头提到的读者疑问中。他既使用了 Git,又同步到了 iCloud 文件夹中。则相当于同时使用了 iCloud 和 Git 两种方案。