📘 Obsidian + Git 多端同步完整方案








❌ 为什么不直接在安卓 Vault 里用 Git?
Android 对共享存储(/storage/emulated/0)存在权限限制:
.git/objects 可能无法读 / 删
rm -rf、mv 经常失败
会导致 clone 成功但 push 失败、仓库损坏
#obsidian #git
✅ 最终采用的稳定架构
电脑 Obsidian
└─ Obsidian Git 插件(SSH)
↕
GitHub 仓库
↕
Termux 私有 Git 仓库(~/Obsidian_Sync_repo)
└─ gsync 脚本
↕(rsync)
安卓 Obsidian Vault(无 .git,纯内容)
核心原则:
Vault 里只放「内容」
Git 仓库只放在 Termux 私有目录
用 rsync 连接二者
八、常见坑总结(血泪经验)
❌ 不要在安卓 Vault 目录里放 .git
❌ 不要在 /storage/emulated/0 下直接跑 Git
✅ Git 永远放在 Termux 私有目录
✅ 用 rsync 连接 Vault 和仓库
九、最终效果
三端角色划分(核心认知)
电脑(PC / Mac)
角色:主控编辑端(Authoritative Editor)
电脑端是唯一可以做“破坏性操作”的设备,包括:
• 删除笔记
• 重命名文件 / 文件夹
• 调整目录结构
• 大规模重构内容
电脑端的特点:
• Obsidian Vault 本身就是 Git 仓库
• 直接 commit + push
• 操作结果被视为“最终正确状态”
一句话总结:
内容结构以电脑为准。
⸻
GitHub(云端仓库)
角色:唯一事实源(Single Source of Truth)
GitHub 本身不做判断,只负责:
• 保存最终状态
• 记录历史
• 作为所有设备的对齐基准
特点:
• 谁 push,谁的状态就成为“事实”
• 不关心这是删除还是新增
一句话总结:
GitHub 只记结果,不管谁对谁错。
⸻
安卓平板(Obsidian + Termux)
角色:受控写入端(Controlled Writer)
安卓端是内容补充设备,而不是结构管理设备。
安卓端允许的行为:
• 新建笔记
• 编辑内容
• 轻量整理
安卓端刻意限制的行为:
• 不直接操作 Git 仓库
• 不负责删除、重构同步
• 不影响插件 / 配置状态
通过脚本区分两种模式:
• gsync:
上传新增 / 修改,不传播删除
• gsync_pull:
只从 GitHub 拉取最新状态
一句话总结:
安卓能写内容,但不决定“存在与否”。
⸻
一句话总逻辑
电脑决定结构,GitHub保存结果,安卓负责补充内容。
只要遵守这个分工:
• 不会再出现“删了又回来”
• 不会再出现插件互相覆盖
• 同步长期稳定
夜雨聆风
