English | 中文
一个轻量级的 Obsidian 插件,自动将仓库变更提交到 Git。仅支持桌面端(移动端用户可通过 Git 网页端查看版本历史)。
设计理念:本插件保持克制,专注核心功能。只做好一件事:自动 Git 提交。无臃肿、无复杂——为你的笔记提供简单可靠的版本控制。
- 设置向导:根据当前仓库状态引导新用户完成配置
- 自动提交:文件修改后自动提交(带防抖)
- 自动拉取:可选在 Obsidian 启动时从远程拉取
- 自动推送:可选在提交后自动推送到远程
- 手动操作:提供手动拉取、提交、推送命令
- 侧边栏按钮:快捷 Git 操作菜单(拉取、提交、推送、还原)
- 文件右键菜单:右键已修改文件可还原单个文件
- 冲突检测:检测合并冲突并暂停自动提交直到解决
- Git 状态徽章:在文件浏览器中显示文件状态彩色圆点
- 仓库管理:在设置中初始化仓库和配置远程地址
- 自定义模板:可配置的提交消息模板
- 文件列表:可选在提交正文中包含变更文件列表
- 多语言:支持中英文界面
- 前往 Releases
- 下载最新版本的
main.js、manifest.json和styles.css - 创建文件夹
<仓库>/.obsidian/plugins/auto-git-commit/ - 将下载的文件复制到该文件夹
- 重启 Obsidian 并在 设置 → 第三方插件 中启用插件
git clone https://github.com/whtiehack/obsidian-git-auto-commit.git
cd obsidian-git-auto-commit
npm install
npm run build然后将 main.js、manifest.json 和 styles.css 复制到仓库的插件文件夹。
| 命令 | 描述 |
|---|---|
Commit now |
提交所有变更 |
Commit and push |
提交并推送到远程 |
Pull now |
从远程拉取 |
Push now |
推送到远程 |
Mark conflicts as resolved |
标记冲突已解决(仅在存在冲突时显示) |
| 选项 | 描述 | 默认值 |
|---|---|---|
| 打开时自动拉取 | Obsidian 启动时从远程拉取 | 关闭 |
| 关闭时提交并推送 | 关闭 Obsidian 时提交并推送(可能导致短暂卡顿) | 关闭 |
| 启用自动提交 | 文件变更后自动提交 | 关闭 |
| 防抖延迟(秒) | 提交前等待时间 | 30 |
| 提交后自动推送 | 提交后推送到远程 | 关闭 |
| 选项 | 描述 | 默认值 |
|---|---|---|
| 提交消息模板 | 自定义消息格式 | vault backup: {{date}} {{time}} |
| 在提交正文中包含文件列表 | 在正文中列出变更文件 | 开启 |
| 在文件列表显示 Git 状态 | 在变更文件旁显示彩色圆点 | 开启 |
| 状态刷新间隔(秒) | 检测外部 git 操作。若只在 Obsidian 内操作可设为 0 | 0 |
| 显示侧边栏按钮 | 在左侧功能区添加 Git 菜单 | 开启 |
| Git 可执行文件路径 | git 的路径 | git |
| 忽略配置目录 | 排除配置文件夹触发自动提交 | 开启 |
| 调试日志 | 将 git 命令输出到控制台(Ctrl+Shift+I 查看) | 关闭 |
插件会检测仓库状态并显示相应选项:
| 状态 | 描述 | 可选操作 |
|---|---|---|
| 非 Git 仓库 | Vault 尚未初始化为 Git 仓库 | 连接远程 / 创建新仓库 / 仅本地 |
| 空仓库 | 已初始化但无提交 | 连接远程 / 创建新仓库 |
| 仅本地 | 有提交但无远程 | 添加远程并推送 |
| 无上游 | 已配置远程但无上游分支 | 设置上游 |
| 就绪 | 配置完成 | (设置部分隐藏) |
- 拉取:从远程仓库拉取
- 提交:提交所有变更
- 推送:推送到远程仓库
- 远程地址:配置远程仓库地址
- 初始化:初始化 Git 仓库(如果未初始化)
- 解决冲突:标记冲突已解决(仅在存在冲突时显示)
在文件浏览器中文件旁显示彩色圆点(●):
| 颜色 | 状态 |
|---|---|
| 已修改 | |
| 新增 | |
| 冲突 | |
| 重命名 |
文件夹显示其内容的最高优先级状态。
| 变量 | 描述 | 示例 |
|---|---|---|
{{date}} |
ISO 日期 | 2025-12-20 |
{{time}} |
时间 (HH:MM:SS) | 10:30:00 |
{{files}} |
变更文件(最多5个) | a.md, b.md, ... |
{{count}} |
变更文件数量 | 3 |
- Obsidian 1.2.0+
- 仅支持桌面端(Windows / macOS / Linux)
- 已安装并可访问 Git
为何不支持移动端? 移动平台没有原生 Git。虽然有 isomorphic-git,但它存在明显限制:CORS 限制需要代理服务器、Buffer 兼容性问题、以及严重的性能问题。移动端用户可以通过 Git 托管平台的网页版或 App(GitHub、GitLab、Gitea 等)来查看和管理仓库的版本历史。
MIT