Git 提交信息前缀规范及验证工具

疯一样的男子
疯一样的男子
发布于 2025-10-24 / 5 阅读
0
0

Git 提交信息前缀规范及验证工具

介绍

Git 提交信息目前并没有一个全球统一的、强制性的“国际标准”。与编程语言的语法规范不同,Git 提交信息规范更多是社区、公司或项目内部形成的共识和最佳实践。有一些被广泛接受和使用的事实标准,其中最著名、最权威的就是 Angular 团队的规范。它已经成为许多其他规范(如 ESLint、React 等)的基础,可以被视为最接近“国际标准”的规范。

作用

标准化提交信息,提高可读性,便于生成 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(admin):新增用户接口或feat:新增用户接口都可以,具体看个人情况

  2. 主题简明扼要,不超过 50 字。

  3. 参考提交信息格式

<类型>[可选 模块作用域]: <描述>

[可选 正文]

[可选 页脚]

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. 特殊场景处理

场景

前缀选择

示例

UI 样式调整

style

style: 优化按钮悬停效果

UI 功能新增

feat

feat: 添加下拉动画

配置文件修改

chore

chore: 更新 .env 配置

路径/资源问题

fix

fix: 修正静态资源加载路径

5. 工具推荐

  • Commitizen:交互式生成规范提交信息。

    npm install -g commitizen
  • Husky + Commitlint:提交时自动校验格式。

总结

规范提交信息能显著提升项目可维护性,建议项目团队中统一遵守。


评论