# Git

> 智能代码提交助手 - 自动分析变更生成提交信息，支持本地提交和远程推送的交互式工作流

- Skill: `free-ride-car/git` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add free-ride-car/git`
- Raw SKILL.md: https://api.skillmd.com/api/skills/free-ride-car/git/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: free-ride-car (https://skillmd.com/u/free-ride-car)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/free-ride-car/git

---


# Git 智能提交助手

这个 skill 帮助你完成代码提交的完整流程，从分析变更到生成提交信息，再到本地提交和远程推送。

## 执行规则（必须遵守）

**用户选择操作后，必须立即执行以下所有命令，禁止再次询问确认：**
- `git add` - 直接执行，不询问
- `git commit` - 直接执行，不询问
- `git push` - 直接执行，不询问

**整个流程中只允许一次交互：让用户选择操作（推送远程/仅提交本地/取消）。选择后立即执行，不要有任何额外的确认步骤。**

## 何时使用此 Skill

- 完成功能开发后提交代码
- 修复 bug 后提交更改
- 重构代码后需要提交
- 任何需要将代码变更提交到 git 的场景

## 工作流程

此 skill 按以下步骤执行：

### 1. 分析变更
自动运行 `git status` 和 `git diff` 分析当前变更，包括：
- 新增/修改/删除的文件
- 具体的代码变更内容
- 变更的类型（新功能、bug修复、重构、文档更新等）

### 2. 生成提交信息
基于变更内容自动生成符合规范的提交信息，包含：
- 简洁的标题（50字符以内）
- 详细的描述说明
- 变更类型标签（feat/fix/refactor/docs/style/test/chore）
- Co-Authored-By 标记

### 3. 展示提交信息并选择操作
向用户展示生成的提交信息，然后提供三个选项供选择：

**请选择操作：**
1. **推送远程** - 执行本地提交后立即推送到远程仓库
2. **仅提交本地** - 只执行本地提交，不推送远程
3. **取消** - 取消本次提交操作

- 用户也可以先修改提交信息，再选择上述操作

### 4. 立即执行
**重要：用户选择操作后，立即执行对应的 git 命令，无需再次询问确认。**

### 5. 提交完成后询问是否合并到测试分支

提交（或推送）成功后，执行以下步骤：

1. 运行 `git branch -a` 获取所有分支列表
2. 从分支列表中识别测试分支：优先匹配名称含 `test`、`testing`、`staging`、`dev`、`develop`、`uat`、`qa` 的分支（本地或远程均可）
3. 如果找到测试分支，询问用户：

   **提交成功！是否将当前分支合并到测试分支？**
   - [1] 合并到 `<测试分支名>` - 执行 `git checkout <测试分支> && git merge <当前分支> && git checkout <原分支>`
   - [2] 跳过 - 不执行合并

4. 如果找到多个测试分支，列出所有候选分支让用户选择
5. 如果未找到任何测试分支，跳过此步骤，不询问

## 使用方法

使用快捷命令触发：

```
/git
```

### 修改提交信息

```
/git，提交信息改成：修复登录页面样式问题
```

```
/git，用这个信息：feat 添加用户头像上传功能
```

## 示例

**用户**: `/git`

**执行流程**:

1. 分析变更...
   ```
   modified:   src/components/UserProfile.tsx
   modified:   src/services/auth.ts
   new file:   src/types/user.ts
   ```

2. 生成的提交信息：
   ```
   feat: 添加用户资料页和类型定义

   - 新增 UserProfile 组件
   - 完善 auth 服务中的用户信息获取
   - 添加 user 类型定义

   Co-Authored-By: Claude (glm-4.6) <noreply@anthropic.com>
   ```

3. 请选择操作：
   - [1] 推送远程
   - [2] 仅提交本地
   - [3] 取消

4. 用户选择 [1] 后，直接执行：
   ```
   git add .
   git commit -m "feat: 添加用户资料页和类型定义..."
   git push
   ```
   （无需再次确认）

## 提交信息规范

此 skill 遵循 Conventional Commits 规范：

- **feat**: 新功能
- **fix**: Bug 修复
- **refactor**: 重构代码
- **docs**: 文档更新
- **style**: 代码格式调整
- **test**: 测试相关
- **chore**: 构建/工具相关

## 注意事项

- 自动跳过敏感文件（.env、密钥文件等）
- 不会执行强制推送或危险操作
- 提交前会展示所有将要提交的文件
- 如果没有变更，会友好提示

