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

​​Git提交代码Commit消息企业级规范

​Git Commit 类型完整指南​

类型用途示例
feat新增功能(面向用户的功能性变更)git commit -m "feat: 添加用户登录功能"
fix修复 Bug(解决代码中的问题)git commit -m "fix: 修复首页加载崩溃问题"
docs文档更新(README、注释等)git commit -m "docs: 更新 API 接口文档"
style代码样式调整(空格、格式化、分号等,​​不改变逻辑​​)git commit -m "style: 调整缩进为 2 空格"
refactor代码重构(优化结构但无功能变化)git commit -m "refactor: 提取支付逻辑到独立模块"
perf性能优化(提升执行效率)git commit -m "perf: 减少首屏渲染时间 200ms"
test测试用例(单元测试、E2E 测试)git commit -m "test: 添加用户注册流程测试"
build构建工具或依赖变更(Webpack、npm 等)git commit -m "build: 升级 Vue 到 3.2"
ciCI/CD 配置变更(GitHub Actions、Docker 等)git commit -m "ci: 添加自动化部署流程"
chore杂项任务(非代码/文档的改动,如更新脚本)git commit -m "chore: 更新依赖版本"
revert回滚之前的提交git commit -m "revert: 撤销某次错误的合并"

​进阶用法​

1. ​​添加范围(Scope)​

指定影响的范围(模块、组件、文件等):

git commit -m "feat(login): 添加短信验证码登录"
git commit -m "fix(router): 修复路由重定向循环问题"
2. ​​多行提交消息​

复杂变更可使用多行描述(第一行是摘要,空一行后写详情):

git commit -m "feat: 支持暗黑模式
>
> - 新增主题切换组件
> - 添加全局样式变量
> - 适配所有页面组件"
3. ​​关联 Issue​

在消息中引用问题跟踪(如 GitHub Issue):

git commit -m "fix: 解决滑动卡顿问题 (close #123)"

​为什么需要规范?​

  1. ​自动化生成 CHANGELOG​​(通过工具如 standard-version)。
  2. ​清晰的历史记录​​:快速定位特定类型的变更。
  3. ​触发语义化版本号(SemVer)​​:
    • feat → 次版本号 v1.2.0
    • fix → 修订号 v1.2.1
    • BREAKING CHANGE → 主版本号 v2.0.0

​常见问题​

Q:拼写错误怎么办?
  • 使用 git commit --amend 修改最后一次提交:
    git commit --amend -m "feat: 正确的提交消息"
    
Q:如何绕过 Husky 检查?
  • 添加 --no-verify(仅紧急情况下使用):
    git commit -m "xxx" --no-verify
    

​工具推荐​

  • ​Commitizen​​:交互式生成合规的提交消息
    npx cz
    
  • ​Commitlint​​:检查提交消息格式(你项目已配置)

规范提交消息能让团队协作更高效!

http://www.lryc.cn/news/576004.html

相关文章:

  • 自动驾驶nuPlan数据集-入门使用和可视化操作
  • 【NodeJs】【npm】npm安装electron报错
  • 智能体记忆原理-prompt设计
  • [Ethernet in CANoe]1--SOME/IP arxml文件格式的区别
  • 基于Spring Cloud Alibaba构建微服务架构的实践探索
  • Ubuntu 部署 ResilioSync3.0 指南
  • IBM RAG 挑战赛 挑战赛 冠军 RAG_Challenge 系统性理解
  • 微调大语言模型(生成任务),怎么评估它到底“变好”了?
  • dp进阶,树形背包(dfs+01)
  • 自动对焦技术助力TGV检测 半导体检测精度大突破
  • 本地部署 WordPress 博客完整指南(基于 XAMPP)
  • Bootstrap 5学习教程,从入门到精通,Bootstrap 5 侧边栏导航(Offcanvas) 语法知识点及案例(26)
  • oracle基础审计管理
  • Django实战:自定义中间件实现全链路操作日志记录
  • IPv6配置
  • MySQL主从备份
  • 16.2 Docker多阶段构建实战:LanguageMentor镜像瘦身40%,支持500+并发1.2秒响应!
  • 2025年智能营销产品发展和应用趋势
  • uniapp消息推送
  • 向量关于基的坐标向量
  • 图像分割模型中的空间信息、上下文信息、空间路径、上下文路径到底是什么?有什么作用?
  • 【C++】atoi和std::stoi
  • redisTemplate简单实现幂等性校验
  • 微信小程序进度条progress支持渐变色
  • 【vue3】打包配置webpack压缩,哈希值设置
  • CVE-2015-5531源码分析与漏洞复现(Elasticsearch目录遍历漏洞)
  • 高斯混合模型GMMK均值(十三-1)——K均值是高斯混合模型的特例
  • macOS,切换 space 失效,向右切换space(move right a space) 失效
  • [论文阅读] 人工智能 | 真实场景下 RAG 系统的工程实践指南
  • JUC:7线程的五种状态与六种状态