原理

  1. IOS Obsidian创建仓库时,默认储存在手机文件obsidian/目录下,例如obsidian/Articles
  2. Obsidian的git插件是由js实现的,本质上是对git的模拟,并且不支持SSH协议
  3. ISH可以运行简单的Linux命令,通过ISH可以安装git,并将GitHub仓库下载到它所在的文件系统
  4. ISH可以将手机文件挂载到它所在的ISH文件系统,可以通过ISH将ISH文件系统中的GitHub仓库挂载到手机文件Obsidian仓库
  5. ISH同步仓库后,Obsidian的git插件可以识别.git目录的内容,并接管之后的git操作

步骤

准备GitHub文章仓库

创建任意仓库即可,建议使用私有仓库。

参考文章:使用Github工作流搭建Quartz博客

下载ISH

在App Store搜索ISH

配置ISH环境

使用apk安装git

apk update
apk add git

挂载目录

ISH文件系统中的GitHub仓库挂载到手机文件Obsidian仓库

mkdir obsidian
mount -t ios . obsidian

这时会弹出一个文件选择框,选择手机中的obsidian目录即可

可以进入目录查看是否能看到手机中的obsidian目录内容

cd obsidian
ls

创建空仓库

在Obsidian中创建一个仓库,例如Articles

此时在手机文件中能看到这个文件,在ISH中使用ls也能看到这个文件

拉取GitHub仓库

配置Git

git config --global user.name "CoolCoolTomato"  
git config --global user.email "[email protected]"  

配置远程仓库

cd Articles
git init
git config --global --add safe.directory /root/obsidian/Articles
git branch -M main
git remote add origin https://github.com/CoolCoolTomato/Articles.git
git pull origin main

可以使用ls看看文件是否拉取下来,在手机中的obsidian文件夹中也能直接看到文件

获取GitHub Access Token

访问 https://github.com/settings/tokens ,选择Generate new token (classic),将repo都勾选上,日期根据需求决定

配置Git插件

在Obsidian插件市场中安装Git插件,可以参考如下配置,

Access Token填写刚刚生成的GitHub Access Token