当前位置: 首页 > news >正文

Git 提交信息(Commit Message)前缀规范

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. 提交信息规范建议

  1. 前缀小写,后跟英文冒号 : 和空格。
  2. 主题简明扼要,不超过 50 字。
  3. 可附加正文(描述修改原因或细节):
    feat: 新增用户管理页面- 添加用户列表组件  
    - 实现分页和搜索功能  
    
  4. 避免模糊描述,如:
    • 更新代码
    • fix: 修复登录页面样式错位

4. 特殊场景处理

场景 前缀选择 示例
UI 样式调整 style style: 优化按钮悬停效果
UI 功能新增 feat feat: 添加下拉动画
配置文件修改 chore chore: 更新 .env 配置
路径/资源问题 fix fix: 修正静态资源加载路径

5. 工具推荐

  • Commitizen:交互式生成规范提交信息。
    npm install -g commitizen
    
  • Husky + Commitlint:提交时自动校验格式。

总结:规范提交信息能显著提升项目可维护性,建议团队统一遵守! 🚀

http://www.sczhlp.com/news/256.html

相关文章:

  • Visual Studio中的常用调试功能(二)
  • 易基因突破创新 自主研发DNA甲基化年龄预测算法及系统获发明专利授权
  • 从独立工具到协作中枢:Bug管理系统的进化革命
  • Redis的引入与配置
  • 给删除增加删除感
  • 卷积神经网络的验证码识别系统设计
  • scrollTop
  • 阿里云OSS 的Content-Disposition不生效 导致浏览器强制下载而不是预览行为
  • 测试
  • AI测试开发私教服务全新升级
  • 10分钟无痛部署!字节Coze开源版喂饭教程
  • 28 位运算
  • Prime Video如何将时间序列异常转化为可操作警报
  • 抗原设计与合成服务|定制抗原技术|高效多肽合成
  • 中日甲午海战军舰情况
  • 面试算法练习-更新ing
  • 2025年优选代码托管平台指南
  • 重塑应用搜索体验,系统级入口功能一步直达
  • MATLAB实现不同型号飞机的红外图像识别
  • 我的手机微信开启了一个端口,虽然我不知道是做什么的
  • 构建之法读后感
  • UI总改版?这个自我修复的AI测试神器让团队告别深夜紧急回滚
  • 低分辨率显示器下的样式兼容
  • javascript的BOM对象的详细解析
  • 企业级知识管理系统的进化:从工具选择到效能提升
  • C/C++通过SQLiteSDK增删改查
  • 深入理解 LangGraph:构建复杂智能体的状态管理与执行流
  • ./build.sh:行1: g++: 未找到命令的错误问题在centos操作系统下面如何解决
  • java 连接 达梦数据库时报错 无法加载达梦数据库驱动: dm.jdbc.driver.DmDriver
  • 通过POSTMAN上传文件(入参IFromFile)