一、总体结构(3 行制,但不强制)
<type>(<scope>): <subject>
<body>
<footer>
90% 的提交只写第一行就够了。
二、Type(必选)——干什么的?
👉 从下面选一个,不要自创
| type | 含义 | 示例 |
|---|---|---|
| feat | 新功能 | feat: 支持导出 Excel |
| fix | 修 bug | fix: 修复金额计算错误 |
| docs | 文档 | docs: 更新接口说明 |
| style | 代码格式 | style: 格式化 SQL |
| refactor | 重构 | refactor: 重构用户查询逻辑 |
| perf | 性能优化 | perf: 优化报表查询性能 |
| test | 测试 | test: 补充订单单元测试 |
| chore | 杂项 | chore: 更新依赖版本 |
| build | 构建相关 | build: 升级 webpack |
| ci | CI/CD | ci: 调整流水线脚本 |
📌 记忆口诀:
新功能 feat,修 bug fix,改结构 refactor,其它干杂活 chore
三、Scope(可选)——改哪儿了?
用来标注模块 / 子系统 / 目录
feat(order): 新增订单导出功能
fix(login): 修复验证码失效问题
refactor(sql): 重构报表查询逻辑
📌 规范建议:
- 用 英文或拼音
- 简短、统一(order / user / report)
四、Subject(必选)——一句话说明(最重要)
✅ 推荐写法
- 动词 + 结果
- 现在时
- 不要句号
feat(order): 支持按日期导出订单
fix: 修复分页统计不准确的问题
refactor(user): 简化用户权限判断逻辑
❌ 不推荐
修改了一下
bug 修复
临时提交
test
五、Body(可选)——为什么要这么改?
适合:
- 复杂逻辑
- 业务规则
- 修 bug 的背景
fix(report): 修复毛利率计算错误
原因:
- 原逻辑未排除退货订单
- 导致汇总数据偏高
解决:
- 过滤状态为 refund 的记录
六、Footer(可选)——关联信息
Closes #123
Refs JIRA-456
BREAKING CHANGE: 修改接口返回结构
七、Git 提交模板
1️⃣ 创建模板文件
vim ~/.gitmessage
内容:
# <type>(<scope>): <subject>
# 示例: feat(order): 支持订单导出
# 为什么要改?(可选)
# 影响范围 / 注意事项(可选)
2️⃣ 配置 Git
git config --global commit.template ~/.gitmessage
以后每次 git commit 自动带模板 👍