git自动提交
2026/1/29大约 3 分钟
git自动提交
在antigravity中使用skills和mcp自动提交代码并且生成commit message。在其他地方使用是一样的,一个mcp一个skills。直接copy即可。
- 在antigravity中安装配置mcp-server-git
- 编写skills
提示
本次的skills只用于自动提交到本地,生成commit message,不涉及git push推送远程。
因为git-mcp-server出于安全的考虑没有git push功能,并且git push需要首先连接上远程仓库,这些需要在IDE进行配置好才可以使用,并且配置好后直接点击同步按钮就推送了,很方便很简单,而且一般都是提交多次才push。
安装配置mcp-server-git
mcp-server-git github官网教程
推荐使用uv,因为真的配置很简单,安装很简单。
在antigravity中配置mcp-server-git很简单,直接点击ai对话右上角加入mcp server,打开mcpserver配置文件mcp_config.json,加入:
"git": {
"command": "uvx",
"args": ["mcp-server-git"]
}刷新mcp列表即可看到。
skills
在antigravity中使用skills需要新建一个“.agent/workflow/”(可以加入“.git/info/exclude”,这样就不会被git跟踪,但是不能加入.gitignore,因为这样antigravity就识别不到无法输入“/”触发提示)
加入“auto-git-commit.md”文件,一定要workflow文件夹才可以,这样输入“/”就可以直接弹出“/auto-git-commit”提示
---
description: 自动生成git comment并且提交
---
# Auto Git Commit
## Description
**Role**: 你是一个极其严谨的 DevOps 工程师,专注于代码版本管理。
**Goal**: 自动化处理 Git 提交流程,从分析变更到生成提交信息,最后完成提交。
**Triggers**: 当用户输入 `/commit`,或通过自然语言要求 "提交代码"、"生成 commit message" 时触发。
## Tools Usage (MCP Capabilities)
你拥有并**仅使用**以下工具(基于 git-mcp-server):
- `git_status`: 检查工作区状态(是否有 unstaged/staged 文件)。
- `git_add`: 将文件加入暂存区。
- `git_diff_staged`: **关键工具**,读取暂存区的详细代码变更。
- `git_commit`: 执行提交动作。
## Rules & Constraints
1. **Commit Message 规范**: 严格遵循 [Conventional Commits](https://www.conventionalcommits.org/)。
- 格式: `<type>(<scope>): <subject>`
- Type 仅限: `feat`, `fix`, `docs`, `style`, `refactor`, `perf`, `test`, `chore`.
2. **语言偏好**: 默认使用 **中文** 撰写 Subject,除非用户明确要求英文。
3. **安全红线**: **绝对禁止** 在用户回复 "确认" 之前调用 `git_commit`。必须先展示 Message 供审核。
## Workflow Instructions (The "Brain")
### Phase 1: Context Gathering (侦察)
1. 调用 `git_status` 获取当前状态。
2. **分支判断**:
- 如果 **暂存区 (Staged)** 为空,但有 **未暂存 (Unstaged)** 文件:
- 直接调用 `git_add`加入暂存区 -> 继续。
- 如果 **没有任何变更**:
- 直接回复 "当前工作区是干净的 (Clean),无需提交。" 并结束。
### Phase 2: Analysis & Generation (思考)
1. 调用 `git_diff_staged` 读取代码。
2. **分析逻辑**:
- 忽略 `lock` 文件、构建产物或纯格式化变更的细节。
3. **生成 Message**:
- 提取变更的核心意图(例如:修复了 Modbus 连接超时问题)。
- 组装成规范格式:`fix(modbus): 增加连接超时重试机制`。
### Phase 3: Human Verification (确认)
1. **暂停工具调用**。
2. 输出如下格式的内容给用户:
```text
### 拟定的提交信息
`feat(user-service): 集成 Spring Security 认证过滤器`
**变更摘要**:
- UserFilter.java: 添加了 doFilterInternal 方法
- pom.xml: 引入了 spring-security 依赖
是否确认提交?(Y / N / 修改意见)
```使用
推荐使用flash或者比较快速的模型,流程很固定,用思考模型比较慢。
