分享一套自用的git提交规范,可清晰的识别到关联的任务/bug

一、提交信息的基本结构

推荐使用约定式提交的一种变体,结构如下:

<类型>(<范围>): <主题> [#<禅道-ID>]<正文>(可选)<脚注>(可选)

一个完整的、优秀的示例:

feat(用户模块): 增加用户手机号绑定功能 [#12345]- 新增手机号验证接口(/api/user/bind_mobile)
- 用户表增加 mobile 和 mobile_verified 字段
- 添加发送短信验证码的功能关联禅道需求: http://your-zentao-domain/zentao/story-view-12345.html

二、核心组成部分详解

1. 类型 (Type) - 必选

表示本次提交的意图。以下是类型定义:

类型关键字含义适用场景禅道关联
feat新功能开发新的需求、功能关联 需求ID (如 #123
)
fix修复Bug修复测试提出的或已知的Bug关联 BugID (如 #456
)
docs文档更新修改文档(如README、接口文档),不涉及代码可关联需求/BugID,或无
style代码样式调整代码格式、缩进、分号等(不改变逻辑)通常无关联
refactor代码重构重构代码,既非修Bug也非加功能可关联需求ID(如性能优化需求)
test测试相关增加或修改测试用例可关联需求/BugID
chore杂项事务构建流程、依赖管理、工具脚本(如webpack配置)通常无关联
2. 范围 (Scope) - 可选

用括号括起来,说明提交影响的范围。这有助于快速定位变更。

  • 例如: 用户模块订单模块登录页API数据库等。
  • 如果修改范围很杂或难以概括,可以省略 (scope)
3. 主题 (Subject) - 必选

对本次提交的简短描述,不超过50个字符。

  • 要求:
    • 使用祈使句、现在时态(如"增加",“修复”,“更新”,不要用"增加了",“修复了”)。
    • 首字母不要大写。
    • 结尾不要加句号。
4. 禅道 ID - 强烈推荐

这是与禅道联动的关键!使用 # + ID 的形式。

  • 格式: [#12345]
  • 位置: 通常放在主题的末尾。
  • 作用: 很多工具(如GitLab, Jenkins)可以自动解析这个格式,生成超链接。即使不能,也极其便于人工搜索。
5. 正文 (Body) - 可选

在主题之后空一行,编写更详细的说明。

  • 写什么:
    • 提交的动机:为什么要这样修改?
    • 与之前行为的对比:修改了什么?是怎么实现的?
    • 需要注意的** breaking changes **(不兼容的变动)。
  • 格式: 每行不超过72字符,使用空格缩进的列表项会让阅读更清晰。
6. 脚注 (Footer) - 可选

通常用于放置不兼容的变动(以 BREAKING CHANGE: 开头)或关闭Issue(如 Closes #123, #245)。在你的场景下,可以放禅道需求的完整URL。

三、具体示例

示例1:完成一个需求

禅道需求: ID 为 10086,标题是“【用户中心】需要支持修改头像功能”

feat(用户中心): 支持用户上传和裁剪头像 [#10086]- 新增头像上传接口 POST /api/user/avatar
- 新增图片裁剪组件(基于Cropper.js)
- 用户表增加 avatar_url 字段存储头像地址See: http://zed.xxx.com/zentao/story-view-10086.html
示例2:修复一个Bug

禅道Bug: ID 为 50020,标题是“商品详情页加入购物车按钮点击无效”

fix(商品页): 修复加入购物车按钮点击无效的问题 [#50020]修复了因事件绑定函数名错误导致点击无效的问题,将 `addToCart` 更正为 `addToCart`See: http://zed.xxx.com/zentao/bug-view-50020.html
示例3:处理多个任务(一次提交解决一个需求和一个Bug)
feat(订单): 增加订单导出为Excel的功能 [#10010]
fix(订单): 修复导出列表时间显示错误的问题 [#50015]- 新增 POI 依赖用于生成 Excel
- 修复时区转换工具类的一个逻辑错误

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/96249.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/96249.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/96249.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从音频到文本实现高精度离线语音识别

会议频繁&#xff0c;记录繁琐&#xff1f;语音转换成文字工具价格高昂&#xff0c;自己手动整理又耗时费力&#xff1f; 它支持本地离线运行&#xff0c;无需联网&#xff0c;所有数据留在本地&#xff0c;隐私安全毫无顾虑&#xff0c;同时它的功能是实时语音转文字&#xf…

SpringMVC 工作原理

SpringMVC 工作原理 SpringMVC 是 Spring 框架中用于构建 Web 应用的核心模块&#xff0c;其工作流程围绕 “前端控制器&#xff08;DispatcherServlet&#xff09;” 展开&#xff0c;通过组件间的协作完成请求处理与响应。理解其工作原理是掌握 SpringMVC 开发的关键&#xf…

HoRain云--Python机器学习神器:Sklearn全解析

&#x1f3ac; HoRain云小助手&#xff1a;个人主页 &#x1f525; 个人专栏: 《Linux 系列教程》《c语言教程》 ⛺️生活的理想&#xff0c;就是为了理想的生活! ⛳️ 推荐 前些天发现了一个超棒的服务器购买网站&#xff0c;性价比超高&#xff0c;大内存超划算&#xff01;…

疯狂星期四文案网第64天运营日记

网站运营第64天&#xff0c;点击观站&#xff1a; 疯狂星期四 crazy-thursday.com 全网最全的疯狂星期四文案网站 运营报告 今日访问量 今日搜索引擎收录情况

设计一个 AB 测试平台

1. 需求明确化 功能需求实验管理 创建、编辑、删除、复制实验设置实验参数&#xff08;变体、权重、目标指标、时长等&#xff09;实验状态管理&#xff08;草稿、运行中、已结束&#xff09;用户分流与分配 支持多种分流策略&#xff08;随机分配、分层分配、定向分配&#xf…

HiCMAE 论文复现:基于 RAVDESS 数据集的音视频情感识别

HiCMAE 论文复现:基于 RAVDESS 数据集的音视频情感识别 1. 项目背景与论文概述 1.1 多模态情感识别背景 多模态情感识别是人工智能领域的重要研究方向,旨在通过结合多种感知模态(如音频、视频、文本等)来更准确地识别人类情感状态。与传统单模态方法相比,多模态方法能够…

HarmonyOS 数据处理性能优化:算法 + 异步 + 分布式实战

摘要 不管是写 App&#xff0c;还是做 IoT 设备开发&#xff0c;数据处理都是绕不开的主题。你可能要处理几百条传感器数据&#xff0c;也可能要应对几十万条用户行为日志。如果算法不够高效&#xff0c;应用就会卡顿甚至直接崩溃。尤其是在 HarmonyOS&#xff08;鸿蒙系统&…

华为麒麟操作系统运维常见知识点

1.开放root账号密码登录。(1)修改/etc/ssh/sshd_config文件中&#xff0c;PermitRootLogin 属性值为yes。PermitRootLogin yes(2)使用passwd命令设置root密码。sudo su 切换到root账户下&#xff0c;使用passwd 设置密码。(3)重启sshd服务。systemctl restart sshd2.避免使用ch…

嵌入式面试|MCU+RTOS技术栈——面试八股文整理3:STM32

目录 1.单片机启动流程 2.看门狗 3.最小系统 4.ROM、RAM、Flash 5.EPROM、EEPROM 6.Bootloader与OTA 7.NAND FLASH 和NOR FLASH 相同点 区别 适用场景 8.CPU、MPU、MCU、SOC、SOPC 9.交叉编译 10.寄存器 寄存器的作用 寄存器与内存的区别 11.Cortex-M3寄存器组…

用 Wisdom SSH 轻松实现服务器自动化任务调度

用Wisdom SSH轻松实现服务器自动化任务调度 在服务器管理工作中&#xff0c;自动化任务调度至关重要&#xff0c;它能让系统在特定时间自动执行预设任务&#xff0c;极大提升运维效率。Wisdom SSH作为一款具备AI助手的强大工具&#xff0c;为自动化任务调度带来便捷解决方案。 …

远场学习_FDTD_dipole(1)

项目4.4 Reflection calculation using a dipole source在此页面中&#xff0c;我们采用了一种不同于标准平面波源方法的替代模拟设置&#xff0c;使用偶极子源来计算多层堆叠结构的反射。在此情况下&#xff0c;我们使用空气 - 玻璃界面。这种技术很有吸引力&#xff0c;因为它…

机器学习入门,用Lima在macOS免费搭建Docker环境,彻底解决镜像与收费难题!

国内用户必看】用Lima在macOS免费搭建Docker环境&#xff0c;彻底解决镜像与收费难题&#xff01; 为了在不同操作系统有一致操作体验&#xff0c;我选择使用docker技术安装ollama&#xff0c;这样子还有一个好处&#xff0c;即使玩坏了&#xff0c;删除重建即可&#xff0c;所…

Java 生成签名证书

在Java中生成签名证书通常涉及到使用Java密钥和证书管理工具&#xff08;Java Key and Certificate Management API&#xff0c;即Java Keytool&#xff09;。这个过程通常包括创建密钥库&#xff08;KeyStore&#xff09;&#xff0c;生成密钥对&#xff08;Key Pair&#xff…

语法分析:编译器中的“语法警察”

在编程的世界里&#xff0c;每一种编程语言都有自己的语法规则。就像中文有标点符号和语序规则一样&#xff0c;编程语言也有自己严格的语法规则。语法分析器就像一个严格的"语法警察"&#xff0c;它的职责是检查源代码是否符合语言规范&#xff0c;同时为后续的处理…

容器的定义及工作原理

定义 你可以把 容器 想象成一个 “打包好的软件快递箱”。 里面有什么&#xff1f; 这个箱子里不仅装着你的软件&#xff08;比如一个网站程序&#xff09;&#xff0c;还把软件运行所需要的所有东西都打包进去了&#xff0c;比如它需要哪个版本的Python、需要哪些系统文件、配…

云服务扫盲笔记(2) —— SLS 接入与设置自动化

前篇我们学习了SLS的核心用途及概念&#xff0c;本篇以将一个linux服务器的json格式日志接入阿里云SLS为例&#xff0c;继续学习SLS接入中的关键设置及注意事项&#xff0c;以及如何将其实现简单自动化快速操作。 一、 SLS 日志接入流程 [1] 准备工作&#xff08;确定日志路径…

LwIP入门实战 — 6 LwIP 网络数据包

目录 6.1 pbuf结构体 6.2 pbuf 的类型 6.2.1 PBUF_RAM 类型的pbuf 6.2.2 PBUF_POOL 类型的pbuf 6.2.3 PBUF_ROM 和 PBUF_REF 类型pbuf 6.3 pbuf 6.3.1 pbuf_alloc() 6.3.2 pbuf_free() 6.4 其它pbuf 操作函数 6.5 网卡中使用的 pbuf 6.5.1 low_level_output() 6.5.…

【已解决】Linux中程序脚本可以手动执行成功,但加在rc.local中不能开机自启

之前开发遇到的一个问题&#xff1a;在Linux中&#xff0c;明明程序脚本可以手动执行成功&#xff0c;但加到开机自启动里&#xff0c;却会失败&#xff0c;属实让人摸不着头脑。 问题排查&#xff1a; 有以下几种可能&#xff1a; 自启动脚本&#xff0c;执行权限不足或者脚本…

切块、清洗、烹饪:RAG知识库构建的三步曲

嘿&#xff0c;各位AI技术爱好者们&#xff0c;你是不是经常遇到这样的情况&#xff1a;辛辛苦苦训练的AI助手&#xff0c;面对专业问题时却"一问三不知"或者"胡言乱语"&#xff1f;明明你已经喂了它一堆PDF和Word文档&#xff0c;为啥它就是不会用&#x…

ubuntu 安装 docker 详细步骤

登录&#xff0c;ubuntu版本 22.04 wqbboy192.168.1.2s password: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-153-generic x86_64)* Documentation: https://help.ubuntu.com* Management: https://landscape.canonical.com* Support: https://ubuntu.com/…