Obsidian 知识库多端共享方案对比与 Git 同步实战

一、背景: 为什么需要个人知识库

我做了 5 年笔记, 主力设备是 MacBook Pro, 通勤带 iPad, 碎片时间用 iPhone, 还有一台 Windows 备用机应急。Obsidian 的 vault (本地 Markdown 文件夹) 在每台设备上都有独立副本, 一直没有真正打通。

每次想"在 iPad 上看 Mac 上写了一半的笔记", 流程是: 打开 iCloud → 没有自动同步 → 翻网盘 → 找到的版本是上周的 → 心态崩了。vault 实际散落 5 份, 每次想同步都要手动拷, 拷完还分不清哪份最新。

痛点很明显, 跨设备同步是个人知识库的第一道坎。这篇文章对比 4 个主流方案, 然后给出我最终选定的 Git + GitHub 方案的完整实战配置。

二、4 个方案横向对比

我前后 3 个月把 4 个方案全试过一遍, 对比如下:

方案 成本 跨平台 版本管理 加密 推荐场景
Obsidian Sync $4/月 / $48/年 全平台 (iOS/Android/Mac/Win/Linux) ✓ E2E 不想折腾的付费用户
iCloud Drive 免费 5GB / $0.99/月 50GB 仅 Apple 生态 Apple 全家桶
WebDAV (坚果云) 免费 1GB / 199元/年 专业版 全平台 取决于服务 国内访问 + 配置熟手
Git + GitHub 完全免费 (私有仓库) 全平台 ✓★ 自带 ✓ SSH 程序员 / 重度笔记 ★

详细架构图 (4 方案对比 + 选型决策):

4 方案对比

一句话选型: 程序员 / 重度笔记用户 → Git + GitHub; 不想折腾 → Obsidian Sync; Apple 全家桶 → iCloud Drive。

三、为什么选 Git? 三条硬理由

  1. 免费且容量无限: GitHub 私有仓库无容量上限 (单文件 100MB, 仓库建议 < 5GB), 完全可以当 vault 的备份
  2. 跨平台 + 工具链丰富: Mac/Win/Linux/iOS/Android 都有成熟客户端, SSH/GPG 鉴权链完整
  3. 自带版本管理: 每次保存是 1 个 commit, 完整 history 可追溯, 误删 / 误改都能恢复

补充: Git 还是去中心化协议, 不绑定任何单一服务商。可以从 GitHub 迁到 Gitea / GitLab / 自托管, 数据主权在自己手上。

四、Git 同步原理

整条链路 5 步:

Obsidian 编辑 → 本地 vault → Obsidian Git 插件 → git commit + push → GitHub
                                                                      ↓
                                              其他设备 ← git pull ←────┘

详细流程图 (本地 → 插件 → Git → GitHub → 多设备):

Git 同步原理

关键组件职责:

  • Obsidian 编辑器: 写笔记, 你只管这个
  • Obsidian Git 插件: 每 10 分钟检测 vault 目录变更, 自动 git add . && git commit -m "vault: {{date}}" && git push
  • git CLI: 本地版本管理, 维护 commit history
  • GitHub: 私有仓库, 当云端备份 + 协作中转
  • 其他设备: Working Copy / MGit / Git for Windows 拉取, Obsidian 打开 vault 目录

整个流程零手工命令, 一次配置终身受益

五、实战配置 (30 分钟跑通)

5.1 前置条件

依赖 版本 用途
Git 2.x+ 本地版本管理
GitHub 账号 - 私有仓库托管
SSH key ed25519 安全鉴权 (免密码 push)
Obsidian 1.x+ 编辑器
Obsidian Git 插件 latest 自动同步

5.2 仓库初始化 (一次性)

# 1. 创建 GitHub 私有仓库
#    去 github.com/new → name=vault → Private → 不要勾选 README/license/.gitignore

# 2. 本地初始化
cd ~/Documents/vault
git init
git branch -M main
git remote add origin git@github.com:你的用户名/vault.git

# 3. 写 .gitignore (关键!)
cat > .gitignore << 'EOF'
# 本机配置 (不同设备差异大, 别同步)
.obsidian/workspace.json
.obsidian/workspace-mobile.json
.obsidian/plugins/obsidian-git/data.json
.trash/
EOF

# 4. 首次提交
git add .
git commit -m "vault: initial import from $(hostname)"
git push -u origin main

5.3 Obsidian Git 插件配置

打开 Obsidian → Settings → Community plugins → 搜索 "Git" → 装 Obsidian Git 插件 → 启用 → 设置:

字段 推荐值 说明
Auto commit-and-sync interval 10 (分钟) 检测间隔
Auto pull on startup 启动时拉取最新
Commit message vault: {{date}} 自动生成消息
Sync method commit-and-sync (即 push) 自动推到 GitHub
Pull on startup 启动时同步
Disable on network error 网络挂了不卡住

保存。从这一刻起, 你写的每一篇笔记 10 分钟内自动到云端。

5.4 移动端配置

iOS / iPadOS (推荐路径):

  1. App Store 装 Working Copy (免费版够用)
  2. Working Copy → Repositories → + → Clone with SSH → 粘贴 git@github.com:你的用户名/vault.git
  3. Obsidian → Open vault from folder → 选 Working Copy 里的 vault 目录
  4. 完事, 在 iPad 上能写能看, 同步全自动

Android (Beta 路径):

  1. F-Droid 装 MGit (Git 客户端) 和 Markor (Markdown 编辑器)
  2. MGit → Clone → 粘贴仓库 SSH URL
  3. Markor → 打开 vault 目录 → 编辑 .md 文件
  4. MGit 里手动 commit + push (Obsidian Android 还在 Beta, 等 GA 后可替代)

六、常见坑与解决方案

坑 1: iCloud 别嵌套

症状: push 一直失败, 提示"stale file handles"
真因: vault 在 ~/Library/Mobile Documents/iCloud~.../Documents/vault, iCloud 和 Git 同时同步会死锁
解决: 把 vault 移到 iCloud 同步目录外面, 比如 ~/Documents/vault

坑 2: .obsidian/workspace.json 不要入库

症状: 每次 push 都冲突 (你的窗口布局和另一台设备的不一样)
真因: Obsidian 的工作区配置带设备 ID, 跨设备无意义
解决: .gitignore 加上 .obsidian/workspace*.json

坑 3: 大文件 (PDF/视频/原图)

症状: 单次 push 几十 MB, 速度慢到崩溃
真因: Git 不擅长二进制大文件
解决: 笔记里的图片用图床外链 (我自己的走 img2024.cnblogs.com), PDF / 视频单独存网盘, vault 里只放引用链接

坑 4: 多设备同时编辑同一文件

症状: pull 时报 "conflict: both modified"
真因: 两台设备都在改同一段, Git 无法自动合并
解决: 习惯"一进一出"——进 Obsidian 先 pull, 走的时候再 commit + push。Git 客户端默认拒绝 force push, 不会丢数据

坑 5: Windows 路径大小写

症状: 在 Mac 写了 Projects/, Windows pull 下来变 projects/
真因: Windows 文件系统大小写不敏感
解决: 统一全小写命名, 或在 Windows 上开 core.ignorecase=false (不推荐, 易踩坑)

七、性能与备份

性能数据 (实测, vault 800+ 笔记, 500MB)

操作 时间 备注
Auto commit + push (本地无变更) < 1s 插件 skip
Auto commit + push (新增 5 篇笔记) 3-5s 取决于网络
首次 clone 到新设备 30-60s 取决于带宽
Pull (增量更新) 2-5s 一般场景

备份策略 (3 层)

  1. GitHub 私有仓库 (主备份, 默认开启)
  2. 本地 Time Machine (Mac 用户, 自动)
  3. 每月 1 号手动 git bundle (离线备份, 防 GitHub 账号异常)
git bundle create vault-$(date +%Y%m).bundle --all
cp vault-*.bundle /Volumes/BackupDisk/

八、总结与系列预告

Obsidian + Git + Obsidian Git 插件这套组合, 我用了一年, 4 台设备无缝切换, 笔记只此一份, 永远是最新的。免费 + 跨平台 + 自带版本管理 + 自动同步, 找不到比这更舒服的方案了。

同步解决后, 个人知识库的下一步是笔记结构设计——PARA / Zettelkasten / Johnny Decimal 我都试过, 下一篇会讲哪个适合什么样的工作流。

系列文章:

  1. Obsidian 知识库多端共享方案对比与 Git 同步实战 (本文)
  2. Obsidian 知识库结构设计: PARA + Zettelkasten 实战组合 (下一篇)
  3. Obsidian 插件推荐: 把 vault 变成第二大脑
  4. Obsidian + AI: 用 LLM 做笔记自动化 (草稿)

如果这篇文章帮你解决了多端同步问题, 收藏 + 推荐支持一下, 让我知道这种深度实操有人爱看。

— 大狗子 · 2026-07-19

posted @ 2026-07-19 18:20  michaelleel1  阅读(56)  评论(0)    收藏  举报