
Git 提交信息规范 — Emoji + Type 约定式提交
统一的 Git 提交信息规范能大幅提升代码历史的可读性,配合 AI 工具自动生成,零学习成本。
规范总览
格式
1<emoji> <type>(<scope>): <subject>
2
3- <body 行1>
4- <body 行2>
5
6<footer>
示例
1✨ feat(api): 添加用户登录接口
2
3- 新增 JWT 认证流程,包含 token 刷新和过期处理。
4- 使用 Redis 缓存 session 提升性能。
5
6Closes #42
1🐛 fix(components): 修复日期选择器样式错乱
2
3- Safari 下 flex 布局未正确渲染,改用 grid 布局替代。
1📝 docs: 更新 API 文档
Type 与 Emoji 映射
| Emoji | Type | 说明 |
|---|---|---|
| ✨ | feat | 添加新功能 |
| 🐛 | fix | 修复 bug |
| 📝 | docs | 对文档进行修改 |
| ♻️ | refactor | 代码重构 |
| ⚡ | perf | 提高性能的代码修改 |
| 🧑💻 | dx | 优化开发体验 |
| 🔨 | workflow | 工作流变动 |
| 🏷️ | types | 类型声明修改 |
| 🚧 | wip | 工作进行中 |
| ✅ | test | 测试用例添加及修改 |
| 🔨 | build | 构建系统或依赖变更 |
| 👷 | ci | CI 配置变更 |
| ❓ | chore | 其它杂项修改 |
| ⬆️ | deps | 依赖项修改 |
| 🔖 | release | 发布新版本 |
详细规则
Subject(必填)
- 不超过 50 个字符
- 使用祈使句,如"添加"而非"添加了"
- 结尾不使用句号
Body(可选)
- 每行不超过 72 个字符
- 详细描述更改的原因,而非"做了什么"
- 若无复杂逻辑可省略
Footer(可选)
- 引用 Issue:
Closes #123 - 重大变更(Breaking Change)在此说明
- 若无则省略
配置方式
1. VSCode(完整配置)
打开 VSCode 命令面板(Cmd + Shift + P),执行 Preferences: Open User Settings (JSON),在 settings.json 中添加以下配置:
1"github.copilot.chat.localeOverride": "zh-CN",
2"github.copilot.chat.commitMessageGeneration.instructions": [
3 {
4 "text": "使用简体中文。在 body 中列出 CODE CHANGES 区域出现的每一个文件,绝对不许遗漏任何一个。读到了几个文件就写几行。"
5 },
6 {
7 "text": "格式:第一行 emoji type(scope): 主题。空一行。后面每行:- 文件路径: 变更说明。Subject 不超过 50 字、祈使句、无句号。Body 每行不超过 72 字。"
8 },
9 {
10 "text": "相似文件的同类修改可合并为一行:- a.vue, b.vue: 统一调整按钮样式。但合并后仍必须覆盖所有文件,不能少。只显示文件名即可。"
11 },
12 {
13 "text": "可用 emoji + type:✨feat 🐛fix 📝docs ♻️refactor ⚡perf 🧑💻dx 🔨workflow 🏷️types 🚧wip ✅test 👷ci ❓chore ⬆️deps 🔖release。scope 多模块用 *"
14 }
15]
配置好之后,在 VSCode 源码管理面板(Ctrl + Shift + G)写提交信息时,Copilot 会自动输出符合规范的提交信息。
2. Claude Code(完整配置)
在 ~/.claude/CLAUDE.md(全局)或项目根目录的 CLAUDE.md(项目级)中添加:
1---
2alwaysApply: true
3scene: git_message
4---
5
6# Git 提交信息规范
7
8- 所有 git commit message 必须使用简体中文。
9- 严格使用以下格式输出:`<emoji> <type>: <中文简短描述>`
10- 只允许使用以下类型与前缀:
11
12 - `✨ feat: 添加新功能`
13 - `🐛 fix: 修复 bug`
14 - `📝 docs: 对文档进行修改`
15 - `♻️ refactor: 代码重构`
16 - `⚡ perf: 提高性能的代码修改`
17 - `🧑💻 dx: 优化开发体验`
18 - `🔨 workflow: 工作流变动`
19 - `🏷️ types: 类型声明修改`
20 - `🚧 wip: 工作进行中`
21 - `✅ test: 测试用例添加及修改`
22 - `🔨 build: 构建系统或依赖变更`
23 - `👷 ci: CI 配置变更`
24 - `❓ chore: 其它杂项修改`
25 - `⬆️ deps: 依赖项修改`
26 - `🔖 release: 发布新版本`
27
28- 需要多行时,Body 部分每行以 `- ` 开头;第一行摘要和 Footer 不加。
29- 第一行是摘要,后续行是详细说明(每行 ≤ 72 字符)。
30
31- **重要约束**:最终输出只包含纯文本形式的 commit message,严禁使用 Markdown 代码块包裹,严禁包含任何解释性文字。
3. Hermes Agent
Hermes Agent 会自动加载 ~/.claude/CLAUDE.md 中的提交规范,生成提交信息时遵循相同的 emoji + type 格式。
使用效果
配置后,在 VSCode 源码管理面板写提交信息时,Copilot 会自动输出符合规范的提交信息:
1# 输入:
2添加登录页面
3
4# Copilot 输出:
5✨ feat(pages): 添加用户登录页面
6
7- 实现手机号+验证码登录流程,包含表单校验和错误提示。
在 Claude Code 中运行 claude -p "提交当前更改" 也会生成符合规范的提交信息。
常见场景速查
| 场景 | 写法 |
|---|---|
| 新功能 | ✨ feat(api): 添加商品搜索接口 |
| 修 Bug | 🐛 fix(cart): 修复数量加减按钮失效 |
| 改文档 | 📝 docs: 更新部署说明 |
| 重构 | ♻️ refactor(auth): 提取认证中间件 |
| 性能 | ⚡ perf(list): 虚拟滚动优化长列表渲染 |
| 更新依赖 | ⬆️ deps: 升级 FastAPI 到 0.110.0 |
| CI 配置 | 👷 ci: 添加自动化测试工作流 |
| 发布版本 | 🔖 release: v2.1.0 |
相关工具:约定式提交规范
- 标题: Git 提交信息规范 — Emoji + Type 约定式提交
- 作者: Jerome Xiong
- 创建于: 2026-06-16 14:00
- 链接: https://jeromexiong.github.io/2026/06/16/工具/Git-提交信息规范/
- 版权声明:本文章采用 CC BY-NC-SA 4.0 进行许可。
评论