Git Commit 提交信息标准格式
Git Commit 提交信息标准格式
采用 Conventional Commits 规范,方便自动生成 ChangeLog、语义化版本号,并让团队提交信息保持一致。
格式模板
<type>[optional(scope)]: <subject><body><footer>
- Header(首行)
- 长度 ≤ 50 字符,祈使句,首字母小写,末尾不加句号。
- 组成:
type
+ 可选scope
+subject
。 - 示例:
feat(api): add rate-limit middleware
- 空行:Header 与 Body 之间必须空一行。
- Body(可选):说明 动机 与 对比,每行 ≤ 72 字符。
- Footer(可选):
- 关联 / 关闭 Issue:
Closes #123
、Refs #456
。 - 破坏性变更:
BREAKING CHANGE: xxx
。
- 关联 / 关闭 Issue:
常用 type 枚举
type | 说明 |
---|---|
feat | 新功能 / 特性 |
fix | Bug 修复 |
docs | 文档变更 |
style | 代码格式(不影响逻辑) |
refactor | 代码重构 |
perf | 性能优化 |
test | 测试相关 |
build | 构建系统 / 依赖变更 |
ci | CI/CD 配置 |
chore | 其他杂项 |
revert | 回滚提交 |
使用建议
- 保持原子性:一次提交只做一件事,若涉及多个 type,拆分成多次 commit。
- 配合工具:
- Commitizen:交互式生成提交信息。
- commitlint:在 Git 钩子中校验提交格式。
- 收益:
- 自动生成
CHANGELOG.md
。 - 自动推断语义化版本号(major / minor / patch)。
- 让 PR Review 与
git log
更清晰易读。
- 自动生成
参考文档:Conventional Commits v1.0.0、Angular / Vue / GitLab 提交规范实践。