介绍
Git 提交信息目前并没有一个全球统一的、强制性的“国际标准”。与编程语言的语法规范不同,Git 提交信息规范更多是社区、公司或项目内部形成的共识和最佳实践。有一些被广泛接受和使用的事实标准,其中最著名、最权威的就是 Angular 团队的规范。它已经成为许多其他规范(如 ESLint、React 等)的基础,可以被视为最接近“国际标准”的规范。
作用
标准化提交信息,提高可读性,便于生成 CHANGELOG,方便团队协作和问题追踪。
1. 核心前缀分类
2. 提交信息规范建议
前缀小写,后跟英文括号()括住功能模块名称,然后是英文冒号
:和空格,注意功能模块名称也可以不写,如feat(admin):新增用户接口或feat:新增用户接口都可以,具体看个人情况主题简明扼要,不超过 50 字。
参考提交信息格式
<类型>[可选 模块作用域]: <描述>
[可选 正文]
[可选 页脚]4.可附加正文(描述修改原因或细节):
feat: 新增用户管理页面
- 添加用户列表组件
- 实现分页和搜索功能
feat(module): 新增用系统功能
- 添加系统列表组件
- 实现系统搜索功能
feat(module): 新增查询接口 3. 详细使用场景
(1)feat - 新增功能
适用于新功能、新组件、新接口等。
示例:
feat: 新增支付接口 feat: 添加暗黑模式切换
(2)fix - 修复 Bug
适用于修复代码逻辑错误、UI 显示问题、兼容性问题等。
示例:
fix: 解决移动端菜单点击无效问题 fix: 修复订单状态未更新的 Bug
(3)docs - 文档变更
适用于
README.md、注释、API 文档、Wiki 等。示例:
docs: 更新项目安装指南 docs: 添加贡献者说明
(4)style - 代码样式调整
适用于 不改变逻辑 的代码格式化(空格、缩进、分号等)。
示例:
style: 统一按钮 CSS 命名规范 style: 调整 ESLint 配置
(5)refactor - 代码重构
适用于代码优化、结构调整,但 不修复 Bug 也不新增功能。
示例:
refactor: 使用 Hook 重构用户组件 refactor: 抽离工具函数到独立文件
(6)perf - 性能优化
适用于提升执行效率、减少资源消耗的变更。
示例:
perf: 使用缓存优化数据加载 perf: 减少重复渲染次数
(7)test - 测试相关
适用于单元测试、集成测试、E2E 测试等。
示例:
test: 添加登录功能测试用例 test: 修复 CI 测试脚本
(8)chore - 构建/工具变更
适用于依赖更新、配置文件修改、脚本调整等。
示例:
chore: 升级 Vue 到 3.4 chore: 添加 commitlint 校验
(9)revert - 回退提交
适用于撤销之前的某次提交。
示例:
revert: 撤销某次错误的合并
4. 特殊场景处理
5. 工具推荐
Commitizen:交互式生成规范提交信息。
npm install -g commitizenHusky + Commitlint:提交时自动校验格式。
总结
规范提交信息能显著提升项目可维护性,建议项目团队中统一遵守。