obsidian 使用 git 进行多终端同步

why

使用印象笔记(evernote 的中国版)已经好多年了,对它的持续可用性一直不放心,所以会定期手动对日志做备份。但最近我厌倦这么做了,于是打算试一下这两位老师提到的 obsidian,阮一峰:《最适合程序员的笔记软件》[1],老C:《周刊(第18期):网状的思考,线性的写作》[2]。


关于 obsidian

obsidian 的核心功能体验,可以参考这个:《玩转 Obsidian 01:打造知识循环利器》[3]。


安装步骤

创建日志仓库

在 github 或 gitee 创建私有仓库,比如命名为 obnote。


PC 同步

obsidian 安装这个插件: Obsidian Git,简单配置一下,就可以自动的进行 git 同步了。


iOS 同步

  • 参照这个文章 《42号笔记:iOS上使用iSH的git同步Obsidian》[4]

  • 下载一个名为 iSH 的 APP,运行之,执行以下命令安装需要的软件

apk update
apk add git
apk add vim
apk add openssh
apk add openrc
  • 打开 iSH,创建一个新的目录并执行 mount,执行时 iOS 会以交互的方式让你选择目录,选到 obsidian 这一级即可,脚本如下:
cd ~ && mkdir obs
mount -t ios-unsafe . obs
  • 进入 iSH,git clone 日志仓库
cd ~/obs
git clone git@github.com:xxx/obnote.git
  • 打开 obisidian,选择打开 obnote 这个日志库

  • 解决 iOS 上 iSH 执行 git 命令时经常卡住的问题

这是一个普遍存在的问题。这个 issue:《Git Commands Stuck Forever #1640》[5] 提到 mount 时使用 ios-unsafe 参数可以解决,实际使用之后,还是经常会卡住。

后来,我在这个 issue:《rsyncing into mount point from fileprovider doesn’t quite work after iSH restart》[6]中找到一个终极解决办法:即每次 git 操作前都重新 mount。于是直接写了个小脚本放在 iSH 上,脚本里包含 mount + git pull 的逻辑,每次运行它就行。

cd ~ && mount -t ios-unsafe . obs    
cd obs/obnote && git pull --rebase
git add . && git commit -m "sync" && git push

参考

[1] 阮一峰. 最适合程序员的笔记软件. Available at https://www.ruanyifeng.com/blog/2021/08/best-note-taking-software-for-programmers.html, 2021-08.

[2] codedump. 周刊(第18期):网状的思考,线性的写作. Available at https://www.codedump.info/post/20220612-weekly-18/, 2022-06-12.

[3] 闲者时间_王掌柜. 玩转 Obsidian 01:打造知识循环利器. Available at https://sspai.com/post/62414, 2020-08-31.

[4] William. 42号笔记:iOS上使用iSH的git同步Obsidian. Available at https://zhuanlan.zhihu.com/p/565028534, 2023-04-06.

[5] github. Git Commands Stuck Forever #1640. Available at https://github.com/ish-app/ish/issues/1640, 2021-12-3.

[6] github. rsyncing into mount point from fileprovider doesn’t quite work after iSH restart. Available at https://github.com/ish-app/ish/issues/1581, 2021-10-8.

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-05-14 16:00:06       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-14 16:00:06       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-14 16:00:06       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-14 16:00:06       18 阅读

热门阅读

  1. AI编程工具为什么选github copilot?

    2024-05-14 16:00:06       15 阅读
  2. curl获取http请求的响应头

    2024-05-14 16:00:06       9 阅读
  3. Go语言数值类型教程

    2024-05-14 16:00:06       10 阅读
  4. 算法训练营day52,204. 计数质数

    2024-05-14 16:00:06       12 阅读
  5. Spring AOP切面实现为mapper层指定方法入参字段赋值

    2024-05-14 16:00:06       11 阅读
  6. 如何隐藏一个元素的滚动条

    2024-05-14 16:00:06       7 阅读
  7. 【sql】复习题

    2024-05-14 16:00:06       8 阅读
  8. 策略模式实战

    2024-05-14 16:00:06       10 阅读
  9. 学习嵌入式开发必须掌握的基础硬件知识

    2024-05-14 16:00:06       12 阅读