cover

写在前面

obsidian 在我的日常使用中主要承担着两个功能:日常笔记与博客维护。本身只有博客通过 git 进行同步操作。但是最近又有了在 iPad 端进行笔记查看的需求。obsidian 本身提供了多端同步的功能,但是价格上实在难以承受——特别是我只是需要偶尔在 iPad 上查看一下笔记而已,于是便趁此机会研究一下 obsidian 的同步方案

方案比较

主流的 obsidian 第三方同步方案如下:

方案 参考教程 优点 缺点
坚果云 webdev&remotely Save https://zhuanlan.zhihu.com/p/594955199 简单使用无需付费,同步速度较快 第一次同步大概率触发流量限制,需要 6 个小时后才可再次同步(且可能再次触发);无可靠版本控制,且有同步出错的报道,需要自行备份(伤不起呀)
icloud https://sspai.com/post/68596 官方同步服务,icloud 在 iOS 平台一次同步多端使用 同步不稳定;可能出现重复副本(可能解决方案FreeFileSync 中转 ) ;win 版本的 iCloud 易用程度>>0
git https://qileq.com/tool/obsidian/how-to/sync-by-git/ github 私有仓库同步稳定可靠,不担心出错且有历史版本 需要手动同步,自动同步容易出现冲突

介于我暂时只需要在 iPad 端查看笔记,且没有很高的多端同步时效性的要求,且对 git 的安全性比较放心(而且完全免费!),故采取 git 来完成同步的工作

准备工作

win

  • git 与 github 基本配置
  • obsidian 下载插件obsidian git、 Commander (推荐安装,非必须)
  • 必备的网络工具(you know who~)

iPad/mac/iPhone

  • obsidian
  • Working Copy(负责 git 同步)
  • 必备的网络工具(you know who~)

完成以上准备工作后就可以开始了(注意替换[]中的内容)

Obsidian(win)->Github

  • 在 github 中创建私有仓库,获取https://github.com/[yourName]/[yourRepo].git
  • 在 obsidian 本地仓库路径下 git bash,完成仓库配置
git init
git add *
git commit -m "[repo] init"

git remote add origin https://github.com/[yourName]/[yourRepo].git
git push -u origin master

返回 Github,检查仓库是否被成功上传,以及是否有文件未成功上传,检查无误后即可进入下一阶段。

在上传时,.obsidian 文件夹可能未被成功上传,此时需要手动 git add&commit&push 上传,在完成第一次上传后添加.gitignore 文件,添加.obsidian 的忽略

Github->Obsidian(iPad)

此部分主要参考git&obsidian,以 iPad 为例(其他端同理)

iPad 端同步的流程如下:

  • Obsidian 创建同名空仓库
  • Working Copy 将该仓库连接到 Github 仓库并拉取内容
  • 返回 Obsidian 重新加载内容

Obsidian(iPad)

  • 进入软件,点击Create new vault创建同名仓库,此时可在文件-我的iPad-obsidian目录下看到同名文件夹。
  • 如果 iPad 安装有 ES 文件浏览器或其他工具,将文件夹下的.obsidian文件夹删除,也可在同步环节在 Working Copy 中删除.obsidian文件夹。

Working Copy 配置

  • 点击左上角设置按钮-SSH Keys-WorkingCopy@xxxx进入 RSA Key 设置,点击 Connect With GitHub完成 github 的授权。

Working Copy 同步远程仓库

  • 回到 Working Copy 主界面,+ - Link external directory(可免费试用),选择文件-我的iPad-obsidian目录下选择目标仓库,打开。

  • Repository - Configuration - Add Remote - URL填写仓库地址https://github.com/[yourName]/[yourRepo].git,点击Test后出现Configuration passed test则说明配置无误。

    请自行解决网络问题~直到出现Configuration passed test为止

  • 完成配置后,点击右下角指纹按钮进入仓库

    若之前未删除.obsidian文件夹,则此时 Delete

  • 点击Pull按钮,等待仓库数据的拉取(速度可能比较慢,只要 test 环节没问题那只是时间问题)

  • 此时重启Obsidian(iPad)即可正常打开仓库~

后续同步

win->iPad

  • 插件Obsidian git可以在Obsidian内完成git同步的操作,安装后会自动识别仓库的git信息,执行git commit all changesgit push即可。Obsidian git也可以完成自动化操作,但是具体如何配置就看自己需要了。
  • 但是执行两遍命令还是太麻烦了,此时我们可以通过Commander来实现自动化同步:Commander - Macros可以创建自动化流程,创建一个新的自动化流程,依次执行commit和push操作即可,中间可适当delay,创建后,在Commander中将自动化操作添加到面板,就可以很方便的完成同步操作了。

iPad->win

由于目前暂时没有较多的同步需求,此处未作深入探究,如果需要手动同步,可在Working Copy中手动commit&push即可,操作与git无异。

其他问题

网络问题无法解决?
建议采用坚果云webdev方案,或者咱去找找办法解决一下网络问题?

自动同步?
目前插件Obsidian git可以实现win->Github的自动同步,但是其他部分暂时只能手动完成,如果你有解决的方法,欢迎评论区交流。

参考

https://qileq.com/tool/obsidian/how-to/sync-by-git/
https://sspai.com/post/68596
https://zhuanlan.zhihu.com/p/594955199

如果你有一些意见或建议, 欢迎评论! 你的意见对我很重要.
如果觉得有帮助的话, 麻烦点一点仓库的 star,感激不尽~