|
| 1 | +# Auto Git Commit |
| 2 | + |
| 3 | +[English](README.md) | 中文 |
| 4 | + |
| 5 | +一个自动将 Obsidian 仓库变更提交到 Git 的插件。 |
| 6 | + |
| 7 | +## 功能 |
| 8 | + |
| 9 | +- **自动提交**:文件修改后自动提交(带防抖) |
| 10 | +- **自动拉取**:可选在 Obsidian 启动时从远程拉取 |
| 11 | +- **自动推送**:可选在提交后自动推送到远程 |
| 12 | +- **手动操作**:提供手动拉取、提交、推送命令 |
| 13 | +- **侧边栏按钮**:快捷 Git 操作菜单(拉取、提交、推送、还原) |
| 14 | +- **冲突检测**:检测合并冲突并暂停自动提交直到解决 |
| 15 | +- **Git 状态徽章**:在文件浏览器中显示文件状态彩色圆点 |
| 16 | +- **仓库管理**:在设置中初始化仓库和配置远程地址 |
| 17 | +- **自定义模板**:可配置的提交消息模板 |
| 18 | +- **文件列表**:可选在提交正文中包含变更文件列表 |
| 19 | +- **多语言**:支持中英文界面 |
| 20 | + |
| 21 | +## 安装 |
| 22 | + |
| 23 | +### 从 GitHub Releases 安装(推荐) |
| 24 | + |
| 25 | +1. 前往 [Releases](https://github.com/whtiehack/obsidian-git-auto-commit/releases) |
| 26 | +2. 下载最新版本的 `main.js`、`manifest.json` 和 `styles.css` |
| 27 | +3. 创建文件夹 `<仓库>/.obsidian/plugins/auto-git-commit/` |
| 28 | +4. 将下载的文件复制到该文件夹 |
| 29 | +5. 重启 Obsidian 并在 设置 → 第三方插件 中启用插件 |
| 30 | + |
| 31 | +### 从源码构建 |
| 32 | + |
| 33 | +```bash |
| 34 | +git clone https://github.com/whtiehack/obsidian-git-auto-commit.git |
| 35 | +cd obsidian-git-auto-commit |
| 36 | +npm install |
| 37 | +npm run build |
| 38 | +``` |
| 39 | + |
| 40 | +然后将 `main.js`、`manifest.json` 和 `styles.css` 复制到仓库的插件文件夹。 |
| 41 | + |
| 42 | +## 命令 |
| 43 | + |
| 44 | +| 命令 | 描述 | |
| 45 | +|------|------| |
| 46 | +| `Commit now` | 提交所有变更 | |
| 47 | +| `Commit and push` | 提交并推送到远程 | |
| 48 | +| `Pull now` | 从远程拉取 | |
| 49 | +| `Push now` | 推送到远程 | |
| 50 | +| `Mark conflicts as resolved` | 标记冲突已解决(仅在存在冲突时显示) | |
| 51 | + |
| 52 | +## 设置 |
| 53 | + |
| 54 | +### 自动化 |
| 55 | + |
| 56 | +| 选项 | 描述 | 默认值 | |
| 57 | +|------|------|--------| |
| 58 | +| 打开时自动拉取 | Obsidian 启动时从远程拉取 | 关闭 | |
| 59 | +| 启用自动提交 | 文件变更后自动提交 | 关闭 | |
| 60 | +| 防抖延迟(秒) | 提交前等待时间 | 30 | |
| 61 | +| 提交后自动推送 | 提交后推送到远程 | 关闭 | |
| 62 | + |
| 63 | +### 配置 |
| 64 | + |
| 65 | +| 选项 | 描述 | 默认值 | |
| 66 | +|------|------|--------| |
| 67 | +| 提交消息模板 | 自定义消息格式 | `vault backup: {{date}} {{time}}` | |
| 68 | +| 在提交正文中包含文件列表 | 在正文中列出变更文件 | 开启 | |
| 69 | +| 在文件列表显示 Git 状态 | 在变更文件旁显示彩色圆点 | 开启 | |
| 70 | +| 显示侧边栏按钮 | 在左侧功能区添加 Git 菜单 | 开启 | |
| 71 | +| Git 可执行文件路径 | git 的路径 | `git` | |
| 72 | +| 忽略配置目录 | 排除配置文件夹触发自动提交 | 开启 | |
| 73 | + |
| 74 | +### 仓库 |
| 75 | + |
| 76 | +- **拉取**:从远程仓库拉取 |
| 77 | +- **提交**:提交所有变更 |
| 78 | +- **推送**:推送到远程仓库 |
| 79 | +- **远程地址**:配置远程仓库地址 |
| 80 | +- **初始化**:初始化 Git 仓库(如果未初始化) |
| 81 | +- **解决冲突**:标记冲突已解决(仅在存在冲突时显示) |
| 82 | + |
| 83 | +## Git 状态徽章 |
| 84 | + |
| 85 | +在文件浏览器中文件旁显示彩色圆点(●): |
| 86 | + |
| 87 | +| 颜色 | 状态 | |
| 88 | +|------|------| |
| 89 | +|  黄色 | 已修改 | |
| 90 | +|  绿色 | 新增 | |
| 91 | +|  红色 | 冲突 | |
| 92 | +|  蓝色 | 重命名 | |
| 93 | + |
| 94 | +文件夹显示其内容的最高优先级状态。 |
| 95 | + |
| 96 | +## 模板变量 |
| 97 | + |
| 98 | +| 变量 | 描述 | 示例 | |
| 99 | +|------|------|------| |
| 100 | +| `{{date}}` | ISO 日期 | `2025-12-20` | |
| 101 | +| `{{time}}` | 时间 (HH:MM:SS) | `10:30:00` | |
| 102 | +| `{{files}}` | 变更文件(最多5个) | `a.md, b.md, ...` | |
| 103 | +| `{{count}}` | 变更文件数量 | `3` | |
| 104 | + |
| 105 | +## 系统要求 |
| 106 | + |
| 107 | +- Obsidian 1.2.0+ |
| 108 | +- 仅支持桌面端(移动端不支持 Git) |
| 109 | +- 已安装并可访问 Git |
| 110 | + |
| 111 | +## 许可证 |
| 112 | + |
| 113 | +MIT |
0 commit comments