0


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 addgit
apk addvim
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 [email protected]: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 --rebasegitadd.&&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.

标签: git

本文转载自: https://blog.csdn.net/antsmall/article/details/138719227
版权归原作者 antsmallant 所有, 如有侵权,请联系我们删除。

“obsidian 使用 git 进行多终端同步”的评论:

还没有评论