Skip to Content
欢迎来到左维WILL的技术博客与知识站
DocsContent FactoryObsidian配置:Git

Obsidian 分布式 Git 同步配置指南

本指南面向采用 Obsidian + Git 的多节点工作流,目标是为“输入、处理、输出”三位一体的分布式笔记系统提供一套更稳妥、低干扰、可长期维护的同步配置。

本页推荐采用“温和同步策略”:以固定周期同步为基础,以“停止编辑后再同步”为主触发条件,在保证版本统一的同时尽量减少对创作流的打断。

Obsidian Git 分布式同步架构图

这份配置解决什么问题

  • 多台设备之间的版本水位不一致
  • 编辑过程中频繁同步带来的卡顿感
  • 冲突出现后难以定位是哪台设备改了什么
  • Obsidian 本地配置文件误同步导致界面异常

推荐策略总览

配置目标推荐做法作用
同步频率5 分钟在时效性与稳定性之间取平衡
触发方式停止编辑后自动同步降低持续输入时的干扰
拉取策略启动时拉取 + 定时拉取保持各节点持续对齐
冲突处理保持 Git 默认冲突处理避免插件擅自覆盖内容
身份识别hostname + date 生成提交信息方便回溯来源

推荐配置步骤

配置自动同步节奏

先把自动提交、自动拉取、停止编辑后同步这三项配置好,确保系统具备基础的同步闭环。

配置提交信息与节点身份

再统一 commit message 格式,让你能快速看出改动来自哪一台机器、发生在什么时间。

配置拉取与合并策略

最后确认启动拉取、合并策略、冲突处理方式,避免不同节点出现长时间分叉。

一、核心同步逻辑

这是整个 Obsidian Git 同步方案的核心部分。

Automatic 配置

  • Auto commit-and-sync interval (minutes): 5
    设定基础同步周期。5 分钟通常是网络波动、同步频率与数据新鲜度之间较均衡的取值。

  • Auto commit-and-sync after stopping file edits: ON
    这是最关键的设置之一。同步只在你停止编辑后触发,能有效减少持续输入时后台 Git 操作带来的轻微卡顿。

  • Auto pull interval (minutes): 5
    这一项应与自动 commit 周期保持一致,而且不要设为 0。即使本地当前没有新改动,也要持续检查远端更新,才能形成完整的多端同步闭环。

  • Auto commit-and-sync after latest commit: OFF
    在这套策略里,主要由“停止编辑后触发”来控制节奏,因此不建议再开启这类额外触发。

  • Auto commit-and-sync only staged files: OFF
    保持关闭,让所有改动自动进入同步流程,避免依赖手动 staged。

如果你希望 Obsidian Git 成为“安静的后台服务”,最重要的不是一味提高同步频率,而是把触发条件放在“停笔之后”。

二、节点识别与提交信息

在分布式工作流里,最怕的是日志里看不出“谁在什么时候改了什么”。所以 commit message 要尽量可回溯。

Commit Message 推荐值

  • Commit message on auto commit-and-sync: \{\{hostname\}\} sync: \{\{date\}\}
    用主机名标记改动来源,用时间标记同步发生时点。

  • {{hostname}} placeholder replacement: [填写节点角色]
    推荐根据节点职责命名,而不是直接使用混乱的设备名。

  • {{date}} placeholder format: YYYY-MM-DD HH:mm:ss
    时间格式越标准,越方便后续排查同步顺序与冲突来源。

  • Specify custom commit message…: OFF
    保持关闭,避免每次自动同步都弹出干预式输入框。

  • List filenames affected…: OFF
    保持 Git 日志简洁,减少噪音。

  • 输入端:Input-Node
  • 处理端:Process-Node
  • 输出端:Output-Node

这类命名方式的优点是:即使设备本身更换,只要节点职责不变,日志语义仍然稳定。

三、数据对齐与冲突防御

Pull / Sync 配置

  • Pull on startup: ON
    这是整个同步体系的基石。Obsidian 一启动就先拉取远端内容,能最大程度减少设备之间的版本断层。

  • Merge strategy: Merge
    使用合并策略,保留不同节点的历史演进,而不是简单覆盖。

  • Merge strategy on conflicts: None (git default)
    如果出现物理冲突,不建议交给插件擅自处理。保留 Git 默认行为更安全,能避免误覆盖。

  • Push / Pull on commit-and-sync: ON
    保证一次同步里包含完整的 pull -> merge -> push 闭环。

如果你的目标是“多端一致”,那“启动先拉取”比“频繁推送”更重要,因为它能先消除本地视角落后于远端的问题。

四、交互与视觉规范

UI / Miscellaneous 配置

  • Disable informative notifications: ON
    成功通知关闭,让 Git 退到幕后。

  • Disable error notifications: OFF
    失败通知保留。只有同步出问题时才提醒,既安静又安全。

  • Show status bar: ON
    通过状态栏观察改动数量与同步状态,形成低干扰感知。

  • Signs (Hunk management): ON
    编辑器左侧显示改动标记,方便识别哪些内容是最近同步过来的。

五、作者身份统一

为了让版本库在 GitHub、Gitee 等平台上显示为同一作者,建议所有节点统一提交身份。

  • Author name for commit: [你的统一 ID],例如 WILL
  • Author email for commit: [你的统一邮箱]

一份可直接照抄的建议配置

Auto commit-and-sync interval (minutes): 5 Auto commit-and-sync after stopping file edits: ON Auto pull interval (minutes): 5 Auto commit-and-sync after latest commit: OFF Auto commit-and-sync only staged files: OFF Commit message on auto commit-and-sync: \{\{hostname\}\} sync: \{\{date\}\} \{\{hostname\}\} placeholder replacement: [节点角色] \{\{date\}\} placeholder format: YYYY-MM-DD HH:mm:ss Specify custom commit message...: OFF List filenames affected...: OFF Pull on startup: ON Merge strategy: Merge Merge strategy on conflicts: None (git default) Push / Pull on commit-and-sync: ON Disable informative notifications: ON Disable error notifications: OFF Show status bar: ON Signs (Hunk management): ON Author name for commit: [统一 ID] Author email for commit: [统一邮箱]

附录:建议的 .gitignore

即使配置了 Obsidian Git,同步范围也不应该无限放大。一些强依赖本地设备状态的文件应当排除,否则容易引发布局错乱或无意义冲突。

# 忽略 Obsidian 窗口布局(不同设备分辨率通常不同) .obsidian/workspace.json # 忽略缓存和临时文件 .DS_Store .obsidian/workspace .obsidian/backups/

.obsidian 目录并不是所有内容都该忽略。这里建议忽略的是强本地化、容易冲突、对内容本身没有价值的文件,而不是把整个配置目录一刀切排除。

总结

这套 Obsidian Git 同步配置的核心不是“同步越快越好”,而是:

  1. 用固定周期维持基本对齐
  2. 用停笔触发降低创作干扰
  3. 用启动拉取减少版本断层
  4. 用清晰的 commit message 提高可追溯性
  5. .gitignore 控制不该同步的本地状态文件

如果你的目标是构建稳定的分布式 Obsidian 工作流,这是一套适合长期使用的默认起点。

Last updated on