Skip to content

Latest commit

 

History

History
134 lines (100 loc) · 5.24 KB

File metadata and controls

134 lines (100 loc) · 5.24 KB

Auto Git Commit

English | 中文

一个轻量级的 Obsidian 插件,自动将仓库变更提交到 Git。仅支持桌面端(移动端用户可通过 Git 网页端查看版本历史)。

设计理念:本插件保持克制,专注核心功能。只做好一件事:自动 Git 提交。无臃肿、无复杂——为你的笔记提供简单可靠的版本控制。

功能

  • 设置向导:根据当前仓库状态引导新用户完成配置
  • 自动提交:文件修改后自动提交(带防抖)
  • 自动拉取:可选在 Obsidian 启动时从远程拉取
  • 自动推送:可选在提交后自动推送到远程
  • 手动操作:提供手动拉取、提交、推送命令
  • 侧边栏按钮:快捷 Git 操作菜单(拉取、提交、推送、还原)
  • 文件右键菜单:右键已修改文件可还原单个文件
  • 冲突检测:检测合并冲突并暂停自动提交直到解决
  • Git 状态徽章:在文件浏览器中显示文件状态彩色圆点
  • 仓库管理:在设置中初始化仓库和配置远程地址
  • 自定义模板:可配置的提交消息模板
  • 文件列表:可选在提交正文中包含变更文件列表
  • 多语言:支持中英文界面

安装

从 GitHub Releases 安装(推荐)

  1. 前往 Releases
  2. 下载最新版本的 main.jsmanifest.jsonstyles.css
  3. 创建文件夹 <仓库>/.obsidian/plugins/auto-git-commit/
  4. 将下载的文件复制到该文件夹
  5. 重启 Obsidian 并在 设置 → 第三方插件 中启用插件

从源码构建

git clone https://github.com/whtiehack/obsidian-git-auto-commit.git
cd obsidian-git-auto-commit
npm install
npm run build

然后将 main.jsmanifest.jsonstyles.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 仓库(如果未初始化)
  • 解决冲突:标记冲突已解决(仅在存在冲突时显示)

Git 状态徽章

在文件浏览器中文件旁显示彩色圆点(●):

颜色 状态
Modified 黄色 已修改
Added 绿色 新增
Conflict 红色 冲突
Renamed 蓝色 重命名

文件夹显示其内容的最高优先级状态。

模板变量

变量 描述 示例
{{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