微尘印记
用 Git 同步 Obsidian 仓库

本文是 Obsidian 多设备同步方案选择指南 系列的 Git 同步方案详解。

Git 同步的核心逻辑很简单:把你的 Obsidian vault 当作一个普通的 Git 仓库,通过 Obsidian Git 插件定时自动 commit 并推送到远端(GitHub 或自建 Gitea),其他设备定时拉取。

这不是实时同步,但对于以写作为主的用户来说已经足够,而且附赠完整的版本历史——每一次改动都可以回溯。


适合谁

  • 有基本的 Git 使用经验
  • 主要在桌面端写作,移动端偶尔查看
  • 重视版本历史,想保留笔记的修改记录
  • 不想付费,也不想维护服务器

准备工作

  • 一个 GitHub 账号(私有仓库免费)
  • 本地安装好 Git
  • Obsidian 已安装 Obsidian Git 插件(社区插件市场搜索即可)

第一步:初始化仓库并推送到 GitHub

在你的 vault 根目录打开终端,执行:

git init
git add .
git commit -m "init"

然后在 GitHub 上新建一个私有仓库,按页面提示添加远端并推送:

git remote add origin https://github.com/你的用户名/仓库名.git
git push -u origin main

推荐使用 SSH 密钥而非 HTTPS,这样后续推拉不需要每次输密码。SSH 密钥的配置可以参考 GitHub 官方文档


第二步:配置 Obsidian Git 插件

安装并启用 Obsidian Git 插件后,进入插件设置,重点配置以下几项:

设置项建议值说明
Auto pull interval10(分钟)每 10 分钟自动拉取远端更新
Auto commit-and-sync interval10(分钟)每 10 分钟自动提交并推送
Commit messagevault backup: {{date}}自动提交信息,带时间戳
Pull updates on startup开启打开 Obsidian 时先拉取最新内容
Push on backup开启每次自动提交后立即推送

配置完成后,插件会在后台静默运行,你不需要手动操作。


第三步:其他设备

在其他电脑上,直接 clone 仓库到本地:

git clone https://github.com/你的用户名/仓库名.git

然后用 Obsidian 打开这个文件夹,安装并配置好 Obsidian Git 插件,同步就自动运行了。


移动端注意事项

移动端(iOS / Android)的体验明显弱于桌面端,需要额外处理认证问题:

  • Android:Obsidian Git 插件支持相对完善,可以正常使用
  • iOS:插件功能受限,推荐配合 Working Copy(付费 App)来完成 Git 操作,然后在 Obsidian 里打开 Working Copy 的仓库目录

如果你重度依赖 iPhone 或 iPad 记笔记,Git 方案的体验会比较割裂,建议考虑 LiveSync 方案


避坑指南

图片和附件会让仓库越来越大 Git 不适合管理大型二进制文件。如果你的 vault 里有大量图片,建议在 .gitignore 里排除附件文件夹,图片另用其他方案同步:

# .gitignore 示例
attachments/
*.png
*.jpg
*.pdf

同时在两台设备编辑同一篇笔记会产生冲突 Git 的合并冲突需要手动解决,标记是 <<<<<< 这样的符号。在 vault 里搜索 <<<<<< 可以快速定位冲突文件。养成”打开前先拉取、关闭前确认推送”的习惯可以大幅减少冲突。

.obsidian 文件夹要不要纳入 Git 建议纳入,这样插件配置和主题可以跨设备同步。但如果你在不同设备上使用不同主题或插件,可以把 .obsidian/workspace.json 加入 .gitignore,避免每次切换设备都触发无意义的 diff。

〰️
〰️

💬 评论

🧙‍♂️

评论区正在施法中...

信使正在穿越次元壁,即将抖达... *Alohomora!* 🔓

    输入关键词开始搜索