
摘要: 本文对比 Obsidian 多设备同步的 4 种主流方案,重点讲解 Git 同步的完整配置流程,包含自动提交、冲突解决、移动端配置等实战技巧。
一、同步方案对比 #
1.1 四种主流方案 #
| 方案 | 成本 | 难度 | 实时性 | 适用场景 |
|---|---|---|---|---|
| Git 同步 | 免费 | 中等 | 手动 | 技术用户、版本控制需求 |
| Obsidian Sync | $8/月 | 简单 | 自动 | 官方方案、全平台 |
| iCloud/坚果云 | 免费/付费 | 简单 | 自动 | 苹果生态/国内用户 |
| Remotely Save | 免费 | 中等 | 手动 | WebDAV/S3/OSS |
1.2 为什么选择 Git 同步? #
优势:
- ✅ 完全免费
- ✅ 版本历史可追溯
- ✅ 支持分支管理
- ✅ 数据完全自主可控
劣势:
- ❌ 需要手动提交推送
- ❌ 冲突需要手动解决
- ❌ 移动端配置复杂
二、Git 同步方案详解 #
2.1 环境准备 #
所需工具:
- Obsidian(桌面端 + 移动端)
- Git
- 代码托管平台(GitHub/Gitee/GitLab)
创建仓库:
# 本地初始化
cd ~/Obsidian-Vault
git init
# 关联远程仓库
git remote add origin git@github.com:username/obsidian-vault.git
# 创建 .gitignore
cat > .gitignore << EOF
# 系统文件
.DS_Store
Thumbs.db
# 插件配置(可选)
.obsidian/plugins/*
!.gitkeep
# 日志文件
*.log
EOF
# 首次提交
git add .
git commit -m "Initial commit: Obsidian vault"
git push -u origin main2.2 桌面端配置 #
方案一:Obsidian Git 插件(推荐)
- 安装插件:
Settings → Community plugins → Browse → Obsidian Git - 配置自动提交:
# .obsidian/plugins/obsidian-git/data.json
{
"commitMessage": "vault backup: {{date}}",
"autoSaveInterval": 5, // 每 5 分钟自动提交
"autoPush": true,
"autoPull": true
}- 设置 Git 凭据:
# 配置凭证缓存(1 小时有效)
git config --global credential.helper cache --timeout=3600
# 或使用 SSH 密钥(推荐)
ssh-keygen -t ed25519 -C "your@email.com"
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
# 将公钥添加到 GitHub/Gitee
cat ~/.ssh/id_ed25519.pub方案二:手动 Git 命令
创建快捷脚本:
# ~/bin/obsidian-sync
#!/bin/bash
cd ~/Obsidian-Vault
git add .
git commit -m "vault backup: $(date '+%Y-%m-%d %H:%M')"
git push
echo "✅ 同步完成"2.3 移动端配置(iOS/Android) #
iOS 方案:Working Copy + 快捷指令
- 安装 Working Copy(Git 客户端)
- 克隆仓库到本地
- 创建快捷指令:
获取当前快捷指令的输入 →
切换到 Working Copy →
提交所有更改 →
推送远程仓库Android 方案:MGit + FolderSync
- 安装 MGit(Git 客户端)
- 安装 FolderSync(文件同步)
- 配置 Obsidian 仓库路径
- 设置定时同步任务
移动端简化方案:Remotely Save 插件
- 安装 Remotely Save 插件
- 配置 WebDAV/S3/OSS
- 设置自动同步
三、冲突解决策略 #
3.1 预防冲突 #
最佳实践:
- 每次编辑前先 pull 最新代码
- 固定设备负责特定区域(如:桌面端写文章,移动端记笔记)
- 设置合理的自动提交间隔(5-10 分钟)
3.2 解决冲突 #
Git 自动合并失败时:
# 查看冲突文件
git status
# 手动编辑冲突文件
# 找到 <<<<<<< HEAD 和 >>>>>>> origin/main 标记
# 保留需要的内容
# 标记解决
git add conflicted-file.md
git commit -m "Resolve merge conflict"
git pushObsidian 冲突处理插件:
Merge Conflicts- 可视化解决冲突Git- 内置 Git 功能
四、自动化配置 #
4.1 GitHub Actions 自动备份 #
# .github/workflows/backup.yml
name: Obsidian Backup
on:
push:
branches: [main]
schedule:
- cron: '0 2 * * *' # 每天 2AM 自动备份
jobs:
backup:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Create backup
run: |
tar -czf obsidian-backup-$(date +%Y%m%d).tar.gz .
- name: Upload to Release
uses: softprops/action-gh-release@v1
with:
files: obsidian-backup-*.tar.gz
tag_name: backup-${{ github.run_number }}4.2 定时同步脚本 #
#!/bin/bash
# /usr/local/bin/obsidian-auto-sync
VAULT_PATH="$HOME/Obsidian-Vault"
LOG_FILE="/var/log/obsidian-sync.log"
log() {
echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" >> "$LOG_FILE"
}
cd "$VAULT_PATH" || exit 1
# 拉取最新
git pull --rebase
if [ $? -ne 0 ]; then
log "❌ Pull failed"
exit 1
fi
# 自动提交更改
git add .
git diff --cached --quiet
if [ $? -ne 0 ]; then
git commit -m "auto backup: $(date '+%Y-%m-%d %H:%M')"
git push
log "✅ Sync completed"
else
log "ℹ️ No changes"
fi配置 Cron 任务:
# 每 30 分钟同步一次
crontab -e
*/30 * * * * /usr/local/bin/obsidian-auto-sync五、其他同步方案 #
5.1 Obsidian Sync(官方) #
配置步骤:
- 购买订阅($8/月或$96/年)
Settings → Sync → Sign in- 创建远程存储
- 选择同步内容(笔记/配置/插件)
优点:
- 端到端加密
- 版本历史保留 1 年
- 支持选择性同步
5.2 iCloud 同步(苹果生态) #
配置:
- 将 vault 放在 iCloud Drive 目录
- 所有设备登录同一 Apple ID
- 确保 iCloud 同步开启
注意: Windows 端 iCloud 同步较慢
5.3 坚果云同步(国内推荐) #
配置:
- 安装坚果云客户端
- 创建同步文件夹
- Obsidian vault 放在同步目录
优点:
- 国内访问速度快
- 支持历史版本
- 免费额度够用
5.4 Remotely Save(第三方插件) #
支持服务:
- WebDAV(坚果云/Nextcloud)
- S3(AWS/阿里云 OSS)
- OneDrive
- Dropbox
配置示例(WebDAV):
服务器:dav.jianguoyun.com/dav
用户名:你的坚果云用户名
密码:第三方应用密码
目录:/obsidian-vault六、性能优化 #
6.1 减少同步数据量 #
.gitignore 优化:
# 排除大型附件
*.pdf
*.mp4
*.mov
*.zip
# 排除缓存
.cache/
.parcel-cache/
# 排除临时文件
*.tmp
*.swp文件分库策略:
- 主库:日常笔记(同步频繁)
- 附件库:图片/PDF/视频(同步较少)
6.2 加快同步速度 #
Git 优化:
# 启用压缩
git config --global compression.level 9
# 浅克隆(只获取最近提交)
git clone --depth 1 <repo-url>
# 定期清理
git gc --aggressive
git prune七、安全建议 #
7.1 敏感信息保护 #
不要同步的内容:
- API Keys
- 密码文件
- 个人隐私笔记
加密方案:
- 使用
Cryptomator加密整个 vault - 使用
Encrypted Text插件加密单条笔记
7.2 访问控制 #
私有仓库设置:
- GitHub:Settings → Private
- Gitee:设置 → 公开/私有
- 定期审查协作者权限
八、总结 #
方案选择建议 #
| 用户类型 | 推荐方案 | 理由 |
|---|---|---|
| 技术开发者 | Git 同步 | 版本控制、免费 |
| 苹果用户 | iCloud | 无感同步、生态整合 |
| 国内用户 | 坚果云 | 速度快、稳定 |
| 企业用户 | Obsidian Sync | 官方支持、加密 |
关键配置清单 #
- 创建 Git 仓库并配置 SSH 密钥
- 安装 Obsidian Git 插件
- 配置自动提交(5 分钟间隔)
- 移动端配置 Working Copy/MGit
- 设置 .gitignore 排除大文件
- 配置定时备份脚本
- 敏感信息加密处理
参考资料: