Obsidian 多库 Git 同步最佳实践(版本管理篇)

29 阅读3分钟

前言

如果你正在为 Obsidian 多设备同步发愁,网盘容易冲突,官方同步又需要付费。这里介绍一种免费、可靠的方法:用 Git 做版本控制

搭配 Gitee/GitHub 使用,可以实现笔记的跨设备同步和历史回溯。本文基于 Obsidian 官方帮助文档 的原则,整理出一套多库 Git 同步的最佳实践。

这篇文章就是我折腾下来的最终方案,分享给你。

核心理念:内容进 Git,配置留本地

类型内容处理方式原因
笔记内容库/*.md 及附件✅ 提交 Git核心资产,必须备份
插件清单.obsidian/community-plugins.json✅ 提交 Git记录插件列表,换设备一键重装
插件本体.obsidian/plugins/❌ Git 忽略体积大,应由 Obsidian 市场按需下载
工作区状态.obsidian/workspace*.json❌ Git 忽略含窗口布局,跨设备极易冲突
临时缓存.obsidian/cache/, .trash/❌ Git 忽略无用文件,只会污染仓库

.gitignore 配置(分平台版本)

版本一:macOS

**/.obsidian/workspace.json
**/.obsidian/workspace-mobile.json
**/.obsidian/workspaces.json
**/.obsidian/plugins/
**/.obsidian/cache/

!**/.obsidian/plugins/community-plugins.json

# macOS 系统文件
.DS_Store
.AppleDouble
._*

版本二:Windows

**/.obsidian/workspace.json
**/.obsidian/workspace-mobile.json
**/.obsidian/workspaces.json
**/.obsidian/plugins/
**/.obsidian/cache/

!**/.obsidian/plugins/community-plugins.json

# Windows 系统文件
Thumbs.db
Desktop.ini
$RECYCLE.BIN/

版本三:Linux

**/.obsidian/workspace.json
**/.obsidian/workspace-mobile.json
**/.obsidian/workspaces.json
**/.obsidian/plugins/
**/.obsidian/cache/

!**/.obsidian/plugins/community-plugins.json

# Linux 系统文件
.directory
*.swp
*~

跨平台通用版(推荐)

如果你在多个系统间切换,直接用这个:

**/.obsidian/workspace.json
**/.obsidian/workspace-mobile.json
**/.obsidian/workspaces.json
**/.obsidian/plugins/
**/.obsidian/cache/
!**/.obsidian/plugins/community-plugins.json

# macOS
.DS_Store
._*

# Windows
Thumbs.db
Desktop.ini
$RECYCLE.BIN/

# Linux
.directory
*.swp
*~

# 通用临时文件
*.log
.trash/

目录结构示例

我的仓库长这样:

obsidian/                    ← Git 仓库根目录
├── .gitignore
├── 工作笔记/
│   ├── 笔记.md
│   └── .obsidian/
│       ├── community-plugins.json  ✅ 提交
│       ├── plugins/                ❌ 忽略
│       ├── workspace.json          ❌ 忽略
│       └── cache/                  ❌ 忽略
├── 个人知识库/
└── 读书笔记/

跨设备恢复流程

换新电脑后,四步恢复:

  1. 克隆仓库

    git clone <你的仓库地址>
    
  2. 用 Obsidian 打开各库文件夹

  3. 一键安装缺失插件 Obsidian 检测到 community-plugins.json 会自动提示,点一下就行

  4. 重新配置 API Key(如果你用 Local REST API 的话)

两个常见坑

坑一:workspace.json 冲突

这个文件记录的是窗口布局、打开的文件等,不同电脑的分辨率和屏幕尺寸不同,提交到 Git 只会造成无休止的冲突。

解决:永远忽略它。

坑二:插件本体不要提交

plugins/ 目录下的 main.jsstyles.css 等是插件代码,体积大且版本敏感。提交到仓库只会让仓库臃肿,还可能在换设备时因为版本不匹配而出错。

解决:忽略 plugins/ 目录,只提交 community-plugins.json 这个插件列表。换设备后 Obsidian 会自动下载最新版本。

关于多库共享配置

有人可能会问:多个库能不能共用一个 .obsidian 配置?

技术上可以(用软链接),但我不推荐。原因:

  • 不同库可能需要不同的插件组合
  • 一个库配置坏了,所有库都受影响
  • 跨设备恢复时需要额外处理软链接

每个库独立配置虽然多占一点点磁盘空间(几十 MB),但省心得多。

最后

这就是我目前在用的 Obsidian 版本管理方案。核心就是三句话:

  • 笔记内容提交 Git
  • 插件列表提交 Git
  • 工作区状态和插件本体忽略

你也是 Obsidian 用户吗?有没有遇到过同步冲突的坑?欢迎评论区交流。


下一篇预告:Obsidian + AI 篇 —— 如何用 MCP 让 AI 直接操作你的笔记库