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 方案对比 + 选型决策):

一句话选型: 程序员 / 重度笔记用户 → Git + GitHub; 不想折腾 → Obsidian Sync; Apple 全家桶 → iCloud Drive。
三、为什么选 Git? 三条硬理由
- 免费且容量无限: GitHub 私有仓库无容量上限 (单文件 100MB, 仓库建议 < 5GB), 完全可以当 vault 的备份
- 跨平台 + 工具链丰富: Mac/Win/Linux/iOS/Android 都有成熟客户端, SSH/GPG 鉴权链完整
- 自带版本管理: 每次保存是 1 个 commit, 完整 history 可追溯, 误删 / 误改都能恢复
补充: Git 还是去中心化协议, 不绑定任何单一服务商。可以从 GitHub 迁到 Gitea / GitLab / 自托管, 数据主权在自己手上。
四、Git 同步原理
整条链路 5 步:
Obsidian 编辑 → 本地 vault → Obsidian Git 插件 → git commit + push → GitHub
↓
其他设备 ← git pull ←────┘
详细流程图 (本地 → 插件 → Git → GitHub → 多设备):

关键组件职责:
- 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 (推荐路径):
- App Store 装 Working Copy (免费版够用)
- Working Copy → Repositories → + → Clone with SSH → 粘贴
git@github.com:你的用户名/vault.git - Obsidian → Open vault from folder → 选 Working Copy 里的
vault目录 - 完事, 在 iPad 上能写能看, 同步全自动
Android (Beta 路径):
- F-Droid 装 MGit (Git 客户端) 和 Markor (Markdown 编辑器)
- MGit → Clone → 粘贴仓库 SSH URL
- Markor → 打开 vault 目录 → 编辑
.md文件 - 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 层)
- GitHub 私有仓库 (主备份, 默认开启)
- 本地 Time Machine (Mac 用户, 自动)
- 每月 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 我都试过, 下一篇会讲哪个适合什么样的工作流。
系列文章:
- Obsidian 知识库多端共享方案对比与 Git 同步实战 (本文)
- Obsidian 知识库结构设计: PARA + Zettelkasten 实战组合 (下一篇)
- Obsidian 插件推荐: 把 vault 变成第二大脑
- Obsidian + AI: 用 LLM 做笔记自动化 (草稿)
如果这篇文章帮你解决了多端同步问题, 收藏 + 推荐支持一下, 让我知道这种深度实操有人爱看。
— 大狗子 · 2026-07-19

浙公网安备 33010602011771号