前言
Obsidian是一款本体完全本地的markdown编辑软件,因其本身的简洁风与高可玩性广受各类人群喜爱。,虽然Obsidian本体允许用户通过iCloud进行同步,但在其受众中采用iPad+Windows的电子设备混搭方案是一种相当普遍的方案。因此同步成为其不可避免的问题之一。
为解决同步问题,本文介绍一种完全免费且几乎可以涵盖所有可能性的方案,包括手机的同步。
原理讲解
本文方案围绕github进行,原理是将仓库储存在github上,各端通过Obsidian的git插件下载/上传github上的更新内容。
图示:
flowchart TD id1[(Github)] id2[(Android Obsidian)] id3[(iPad Obsidian)] id4[(…… Obsidian)] id1<--[上传/下载]-->id2 id1<--[上传/下载]-->id3 id1<--[上传/下载]-->id4
步骤
首次上传云端
由于我们的一切操作依赖于github,因此我们需要先将初始仓库上传至云端。这里以Win端上传为例。
仓库名以Ywww为例,大家可以直接替换成自己的名字
-
在网页新建一个同步用的仓库
-
进入网页仓库,选择绿色Code按钮,复制SSH地址备用。
-
使用
Git Bash进入仓库并初始化git
1 | cd D:\Ywww |
-
添加远程仓库
在这步中,可以告诉git你的仓库在哪里,你需要把哪个仓库上传哪个云端仓库。
1 | git remote add origin git@github.com:Yw37153/Ywww.git // 添加远程仓库 |
-
在根目录下创建
.gitignore文件。把不需要备份的文件写一下,这样可以减少大部分同步的时间。
1 | .obsidian |
以下是来自Gemini的建议
1 | # 忽略操作系统生成的临时文件 |
-
缓存+提交+推送,将本地仓库上传至云端
1 | git add . |
至此,仓库已经上传云端,Win端也与云端仓库建立联系。
iOS同步仓库更新
在APP Store下载iSH,这是一个可以在IPad上使用Linux命令行的软件,接下来一系列操作我们需要在命令行里进行。
-
在IPad下载Git
1 | apk update //更新软件包 |
-
在Obsidian里创建新的仓库,用于同步,仓库名与云端保持相同
-
挂载目录
在iSH中输入:
1 | mount -t ios obsidian /mnt |
选择Obsidian文件夹后进入:
1 | cd /mnt/Ywww //进入文件夹 |
simple
注意:这里的mnt是固定的,不要修改成/mnt/Obsidian/<Repo>或者/Obisdian/<Repo>等。
-
配置git
1 | git config --global user.name "<Github用户名>" |
-
配置远程仓库
1 | git init // 初始化 git |
-
等待一会后,会让你输入用户名和密码
1 | Username for '<https://>': <用户名> |
运行结束后会有提示。完毕后在Obsidian中检查一下仓库是不是已经拉取成功,拉取成功后进行对Obsidian插件的配置。
配置Android端
下载Termux,和iOS相同,这也是一个可以在手机上运行的Linux命令行。
-
准备环境
1 | termux-setup-storage //申请权限 |
-
用Obsidian创建同名新仓库
-
进入文件夹
1 | cd ~/storage/emulated/0/documents/Obsidian/Ywww //进入仓库 |
-
配置git
1 | git config --global user.name "<Github用户名>" |
-
配置远程仓库
1 | git init // 初始化 git |
同样,接下来会让你输入用户名和密码:
1 | Username for '<https://>': <用户名> |
-
在Obsidian里检查是否拉取成功,然后配置插件——详见 插件配置指南
常见问题
为了以后再次遇到类似问题时能快速搞定,这里为你精炼整理出一套针对安卓手机(Obsidian + Termux + Git)的黄金修复与同步指南。
Dubious Ownership
当 Termux 提示 detected dubious ownership 时,复制并运行以下命令,信任你的笔记目录:
1 | git config --global --add safe.directory /storage/emulated/0/Documents/Obsidian/Ywww |
bad tree object HEAD
如果出现 bad tree object HEAD 或文件损坏报错,直接在笔记目录下执行
1 | rm -rf .git && git init # 删掉旧仓库,原地重建 |
Obsidian 插件防错检查表
回到 Obsidian 软件内,确保以下 3 项配置正确,即可一劳永逸:
-
分支名称(Branch): 必须只填
main,绝对不能带origin/前缀。 -
凭证管理(Authentication): 密码位置必须填写 GitHub 的 Token(个人访问令牌),直接填网页登录密码会导致同步失败。
-
遇到残留报错弹窗: 修复完成后,彻底杀死 Obsidian 后台并重启,报错即可消除。
插件配置指南
成功拉取代码后,你需要配置插件以实现自动同步。以下是关键配置项:
Automatic(自动同步)
| 配置项 | 说明 |
|---|---|
Split timers for automatic commit and sync |
✅ 勾选 |
Auto commit interval (minutes) |
自动提交间隔 |
Auto pull interval (minutes) |
自动拉取间隔 |
Auto push interval (minutes) |
自动推送间隔 |
Pull on startup |
✅ 勾选(避免版本不一致) |
Authentication/commit author(凭证配置)
| 配置项 | 填写内容 |
|---|---|
Username on your git server |
GitHub 用户名 |
Password/Personal access token |
GitHub Token(获取方式) |
Token获取
由于 Git 插件配置和命令行拉取都需要使用 Token(而非直接使用密码),你需要在 GitHub 上生成一个 Personal Access Token。
-
登录 GitHub,点击右上角头像 → Settings → Developer settings → Personal access tokens → Fine-grained tokens
-
点击 Generate new token (classic)
-
给 Token 起一个名字(如
Obsidian Sync, 可以随意取)
Token权限选择
-
Expiration(有效期):No expiration -
Repository access:Only select repositories(在里面选择你的权限仓库) -
Repository permissions:- Read access to actions, issues, metadata, and pull requests
- Read and Write access to code

-
点击 Generate token,复制生成的 Token 并妥善保存
注意:Token 只在生成时显示一次,如果遗失需要重新生成。
评论