Git 提交信息(Commit Message)前缀规范
作用:标准化提交信息,提高可读性,便于生成 CHANGELOG,方便团队协作和问题追踪。
1. 核心前缀分类
| 前缀 | 适用场景 | 示例 | 
|---|---|---|
| feat | 新增功能(Feature) | feat: 添加用户登录功能 | 
| fix | 修复 Bug | fix: 解决首页加载失败问题 | 
| docs | 文档变更(Documentation) | docs: 更新 API 接口文档 | 
| style | 代码样式调整(不影响逻辑) | style: 调整代码缩进和空格 | 
| refactor | 代码重构(非功能/Bug 修改) | refactor: 优化用户模块结构 | 
| perf | 性能优化 | perf: 减少数据库查询次数 | 
| test | 测试相关 | test: 添加用户注册单元测试 | 
| chore | 构建/工具变更 | chore: 更新 Webpack 配置 | 
| revert | 回退提交 | revert: 撤销某次错误提交 | 
2. 详细使用场景
(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: 撤销某次错误的合并
3. 提交信息规范建议
- 前缀小写,后跟英文冒号 :和空格。
- 主题简明扼要,不超过 50 字。
- 可附加正文(描述修改原因或细节):feat: 新增用户管理页面- 添加用户列表组件 - 实现分页和搜索功能
- 避免模糊描述,如:
- ❌ 更新代码
- ✅ fix: 修复登录页面样式错位
 
- ❌ 
4. 特殊场景处理
| 场景 | 前缀选择 | 示例 | 
|---|---|---|
| UI 样式调整 | style | style: 优化按钮悬停效果 | 
| UI 功能新增 | feat | feat: 添加下拉动画 | 
| 配置文件修改 | chore | chore: 更新 .env 配置 | 
| 路径/资源问题 | fix | fix: 修正静态资源加载路径 | 
5. 工具推荐
- Commitizen:交互式生成规范提交信息。npm install -g commitizen
- Husky + Commitlint:提交时自动校验格式。
总结:规范提交信息能显著提升项目可维护性,建议团队统一遵守! 🚀
