# Git提交规范

> 规范git提交信息格式，确保不同目录下的文件提交时添加正确的前缀

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

---


# Git提交规范

## 0. 自动触发说明

### 0.1 触发条件

#### 0.1.1 操作触发
- **文件浏览时**: 当浏览以下目录时自动调用
  - 打开 `crmeb/` 目录时触发
  - 打开 `docker-compose/` 目录时触发
  - 打开 `dev-docs/` 目录时触发
  - 打开 `template/` 目录时触发
- **文件操作时**: 当对以下目录的文件进行操作时自动调用
  - 修改 `crmeb/` 目录下文件时触发
  - 修改 `docker-compose/` 目录下文件时触发
  - 修改 `dev-docs/` 目录下文件时触发
  - 修改 `template/` 目录下文件时触发
- **Git操作时**: 当执行以下Git命令时自动调用
  - `git add` (添加文件到暂存区)
  - `git commit` (提交更改)
  - `git push` (推送更改)

#### 0.1.2 内容触发
- **关键词触发**: 当文件内容包含以下关键词时自动调用
  - Git关键词: `git`、`commit`、`push`、`pull`、`branch`
  - 提交关键词: `提交`、`更新`、`修复`、`添加`、`删除`
  - 目录关键词: `crmeb`、`docker-compose`、`docs`、`template`

#### 0.1.3 命令触发
- **终端命令触发**: 当执行以下命令时自动调用
  - `git` (Git相关命令)
  - `git commit` (提交命令)
  - `git add` (添加命令)

### 0.2 适用场景

#### 0.2.1 核心场景
- **代码提交**: 提交代码更改时
- **文件修改**: 修改项目文件时
- **目录操作**: 对项目目录进行操作时

#### 0.2.2 辅助场景
- **代码审查**: 审查代码提交时
- **版本管理**: 管理项目版本时
- **团队协作**: 团队成员协作开发时

### 0.3 触发机制

#### 0.3.1 调用时机
- **实时触发**: Git命令执行时立即触发
- **延迟触发**: 文件操作后延迟1秒触发
- **批量触发**: 批量文件操作时合并触发

#### 0.3.2 调用频率
- 文件浏览: 最多每10秒触发一次
- 文件操作: 最多每5秒触发一次
- Git命令: 最多每3秒触发一次

#### 0.3.3 调用优先级
- **优先级等级**: 中等优先级 (3/5)
- **竞争处理**: 当多个技能同时触发时
  - 最高优先级: 系统核心技能
  - 高优先级: 代码结构技能
  - 中等优先级: Git提交技能、PHP后端技能、前端技能
  - 低优先级: 辅助工具技能

### 0.4 触发后行为

#### 0.4.1 自动分析
- **目录分析**: 分析当前操作的文件所在目录
- **提交信息分析**: 分析提交信息格式是否符合规范
- **前缀检查**: 检查提交信息是否包含正确的目录前缀

#### 0.4.2 自动展示
- **提交规范**: 展示Git提交规范
- **目录前缀**: 展示当前目录对应的提交前缀
- **示例格式**: 展示正确的提交信息格式示例

#### 0.4.3 自动建议
- **前缀建议**: 提供当前目录对应的提交前缀建议
- **格式建议**: 提供提交信息格式建议
- **最佳实践**: 提供Git提交最佳实践建议

## 1. 提交信息格式规范

### 1.1 基本格式
```
[目录前缀] 提交描述

详细说明（可选）
```

### 1.2 目录前缀规则

| 目录 | 前缀 | 示例 |
|------|------|------|
| crmeb/ | 【程序目录】 | 【程序目录】修复登录功能bug |
| docker-compose/ | 【DOCKER】 | 【DOCKER】更新Docker配置文件 |
| dev-docs/ | 【开发文档】 | 【开发文档】完善API接口文档 |
| template/ | 【前端文件】 | 【前端文件】优化前端界面样式 |

### 1.3 提交描述规范
- **长度限制**: 不超过50个字符
- **内容要求**: 简洁明了，说明本次提交的主要内容
- **动词使用**: 使用现在时动词，如「添加」、「修复」、「更新」等
- **格式规范**: 首字母大写，结尾不加标点符号

### 1.4 详细说明规范
- **长度限制**: 不超过200个字符
- **内容要求**: 详细说明本次提交的原因、解决的问题等
- **格式规范**: 每行不超过72个字符，使用空行分隔不同段落

## 2. 提交信息示例

### 2.1 crmeb目录示例
```
【程序目录】添加用户注册功能

- 实现用户注册接口
- 添加注册参数验证
- 集成短信验证码功能
```

### 2.2 docker-compose目录示例
```
【DOCKER】优化Docker镜像构建

- 减少镜像体积
- 提高构建速度
- 修复容器启动问题
```

### 2.3 docs目录示例
```
【开发文档】更新API接口文档

- 补充新接口说明
- 修正参数描述错误
- 添加响应示例
```

### 2.4 template目录示例
```
【前端文件】优化登录页面样式

- 调整表单布局
- 美化按钮样式
- 优化响应式设计
```

## 3. 最佳实践

### 3.1 提交频率
- **合理拆分**: 每个提交只包含一个功能或修复
- **及时提交**: 完成一个功能或修复后及时提交
- **避免批量**: 避免一次提交大量不相关的更改

### 3.2 提交信息质量
- **清晰明了**: 提交信息应清晰说明本次更改的内容
- **准确描述**: 提交信息应准确反映代码更改
- **格式规范**: 严格遵循提交信息格式规范

### 3.3 分支管理
- **主分支**: 保持主分支稳定，只用于发布
- **开发分支**: 在开发分支上进行功能开发
- **特性分支**: 为大型功能创建专门的特性分支
- **修复分支**: 为紧急bug创建专门的修复分支

### 3.4 代码审查
- **自我审查**: 提交前自我审查代码
- **团队审查**: 重要更改应进行团队代码审查
- **审查标准**: 审查代码质量、安全性、性能等

## 4. 常见问题

### 4.1 提交信息问题
- **缺少前缀**: 忘记添加目录前缀
  - 解决方法: 参考目录前缀规则，添加正确的前缀
- **描述过长**: 提交描述超过50个字符
  - 解决方法: 精简描述，突出重点
- **格式不规范**: 提交信息格式不符合规范
  - 解决方法: 参考提交信息格式规范，修正格式

### 4.2 分支管理问题
- **分支混乱**: 分支过多或命名不规范
  - 解决方法: 定期清理无用分支，使用规范的分支命名
- **合并冲突**: 分支合并时产生冲突
  - 解决方法: 及时同步主分支，减少冲突可能性

### 4.3 提交频率问题
- **提交过频**: 过于频繁的提交
  - 解决方法: 合理组织提交，避免琐碎提交
- **提交过少**: 长时间不提交
  - 解决方法: 及时提交更改，避免代码丢失

## 5. 常用Git命令

### 5.1 基本命令
- **git status**: 查看当前状态
- **git add <file>**: 添加文件到暂存区
- **git commit -m "[前缀] 描述"**: 提交更改
- **git push**: 推送更改到远程仓库
- **git pull**: 从远程仓库拉取更改

### 5.2 分支命令
- **git branch**: 查看分支
- **git checkout <branch>**: 切换分支
- **git checkout -b <branch>**: 创建并切换分支
- **git merge <branch>**: 合并分支

### 5.3 历史命令
- **git log**: 查看提交历史
- **git show <commit>**: 查看提交详情
- **git diff**: 查看更改内容

## 6. 参考资源

### 6.1 官方文档
- [Git官方文档](https://git-scm.com/doc)
- [GitHub Git教程](https://guides.github.com/introduction/git-handbook/)

### 6.2 学习资源
- [Pro Git](https://git-scm.com/book/zh/v2)
- [Git分支管理策略](https://nvie.com/posts/a-successful-git-branching-model/)
- [提交信息规范](https://chris.beams.io/posts/git-commit/)

### 6.3 工具推荐
- **Git GUI**: GitHub Desktop、SourceTree
- **Git客户端**: GitKraken、Tower
- **代码托管**: GitHub、GitLab、Gitee

### 6.4 其他资源
- Git工作流最佳实践
- 团队Git使用规范
- 代码审查流程指南
