写在前面
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 changes
和git 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,感激不尽~