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

【规范】Git Commit 约定式提交规范

文章目录

  • 前言介绍
  • 使用约定式提交规范的好处
  • 提交信息格式
    • 信息头部(Header)
    • 正文(Body)
    • 脚注(Footer)
    • 撤销(Revert)
  • 提交类型表格
  • 官网


前言介绍

约定式提交规范它是一种基于提交信息的轻量级约定,提供了一组简单规则来创建清晰的提交历史。



使用约定式提交规范的好处

使用约定式提交规范的好处有哪些呢?

  1. 提高开发效率‌:通过这种 “约定大于配置” 的思想,约定式提交减少了软件开发人员需要做的决定数量,从而提升了开发效率。
  2. 便于历史记录和版本控制‌:约定式提交要求每次使用 git commit 时都需要写 commit message,并且如果 message 的 style 是按照固定的模板格式书写,这对于后期的维护和编写 changelog(更新版本) 都有巨大的好处。按照这个格式看起来一目了然。
  3. ‌提升代码可读性‌:约定式提交通过使用固定的模板格式书写提交信息,使得commit message具有更好的可读性,清晰明了。这不仅便于团队成员之间的沟通和协作,也为 Code Reviewing 做好了准备,无需深入查看代码即可了解当前 commit 的作用‌。
  4. 减少错误和混乱‌:通过规范化提交(无论是文中提到的具体方式还是其他统一、简明的方式),可以避免在 commit 时五花八门的提交信息,减少在处理问题时耗费的时间。这有助于提高代码库的质量和可维护性,避免因提交信息不规范而导致的混乱和错误‌。


提交信息格式

<类型>[可选 范围]: <描述>[可选 正文][可选 脚注]

信息头部(Header)

Header 部分只有一行,包括三个字段:type(必需)、scope(可选)和 subject(必需)。

Type 使用的类型哪一个请看下面的提交类型表格。

Scope 用于说明提交影响的范围,比如数据层、控制层、视图层等,每个项目的架构不同,所以视角是不一样的。

Subject 是提交目的的简短描述,不超过50个字符。


正文(Body)

Body 部分是对本次 Commit 的详细描述,可以分成多行。


脚注(Footer)

Footer 部分一般用于两种情况。
1、不兼容变动:如果当前代码与上一个版本不兼容,则 Footer 部分以 BREAKING CHANGE 开头,后面是对变动的描述、以及变动理由和迁移方法。
2、关闭 Issue、项目内部测试案例,或者关闭项目内部BUG号:比如说当前 Commit 针对某个 issue,那么可以在 Footer 部分写上关闭这个 issue 。
如:Close #234, #123


撤销(Revert)

Revert 是一种特殊情况,用于撤销以前的 Commit。其必须以 revert: 开头,后面跟着被撤销 Commit 的 Header。
而 Revert 中的 Body 部分是有一种固定格式的,则需要写成 This reverts commit commit_id

revert: feat ✨: 添加用户功能This reverts commit bc3f0184.

注意:以上不管是哪一个部分,任何一行都不得超过 72 个字符(或100个字符),这是为了避免自动换行影响美观。



提交类型表格

提交类型标题描述Emoji
featFeatures新增功能
fixBug Fixes修复 BUG🐛
docsDocumentation修改文档📚
styleStyles不影响代码含义的更改(空格、格式、缺少分号等)💎
refactorCode Refactoring代码重构,无新功能或修复Bug📦
perfPerformance Improvements优化相关,比如提升性能,体验🚀
testTests增加测试用例,包括单元测试,集成测试等🚨
buildBuilds影响构建系统或外部依赖项的更改(示例范围:gulp、broccoli、npm)🛠
ciContinuous Integrations对我们的 CI 配置文件和脚本的更改(示例范围:Travis、Circle、BrowserStack、SauceLabs)⚙️
choreChores改变构建流程,增加依赖库,工具等♻️
revertReverts回滚到上一个版本🗑


官网

官网地址,可以去查看原文





End


相关文章:

【规范】Git Commit 约定式提交规范

文章目录 前言介绍使用约定式提交规范的好处提交信息格式信息头部&#xff08;Header&#xff09;正文&#xff08;Body&#xff09;脚注&#xff08;Footer&#xff09;撤销&#xff08;Revert&#xff09; 提交类型表格官网 前言介绍 约定式提交规范它是一种基于提交信息的轻…...

GDB的基本使用方法(之一)

1.编译程序 如果要让GDB调试程序,则编译生成程序时,要添加-g编译选项: $gcc -Wall -O2 -g 源文件 编译器含有针对源代码中的各种各样的错误输出信息的功能,称为警告选项。这些信息并不一定是错误,但却指出了容易引发bug的编码方式。-Werror选项可以在警告发生时,将其当…...

DoubletFinder去除双细胞分析学习

在单细胞RNA测序过程中&#xff0c;有时两个或多个细胞可能在制备过程中意外结合成一个单一的"假细胞"&#xff0c;称为双峰细胞或双倍体。这些双峰细胞可能会扭曲数据分析和解释&#xff0c;因此&#xff0c;需要使用一些方法对它们进行识别和剔除。其中DoubletFind…...

软考高级第四版备考---第四十八天(项目基本要素-项目项目、项目集、项目组合和运营管理之间的关系)

一、概述&#xff1a; 项目集是一组相互关联且被协调管理的项目、子项目集和项目集活动&#xff0c;目的是为了获得分别管理无法获得的利益。项目集不是大项目&#xff0c;大项目是指规模、影响等特别大的项目&#xff1b; 项目组合是指为实现战略目标而组合在一起管理的项目、…...

系统架构设计师:信息系统基础知识

简简单单 Online zuozuo: 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo :本心、输入输出、结果 简简单单 Online zuozuo : 文章目录 系统架构设计师:信息系统基础知识前言信息系统构成:信息系统功能:信息系统生命周期…...

微服务-nacos

nacos-注册中心 启动 服务注册到nacos...

快速上手 | 数据可观测性平台 Datavines 自定义SQL规则使用指南

摘要 本文主要介绍在 Datavines平台已有规则不能满足需求的情况下&#xff0c;如何通过自定义SQL规则来实现基于业务特性的数据质量检查。 规则介绍 自定义聚合SQL规则是 Datavines 平台中内置的一个灵活的规则&#xff0c;该规则允许用户通过编写SQL的方式来实现想要的数据质…...

MySQL零基础入门教程-6 查询去重、内外连接查询、子查询、分页查询DQL,基础+实战

教程来源&#xff1a;B站视频BV1Vy4y1z7EX 001-数据库概述_哔哩哔哩_bilibili 我听课收集整理的课程的完整笔记&#xff0c;供大家学习交流下载&#xff1a;夸克网盘分享 本文内容为完整笔记的第六篇 分组查询&DQL总结P41-P66 1、把查询结果去除重复记录 注意&#xf…...

Elastic:如何将数据转化为可操作的见解?

作者&#xff1a;来自 Elastic Elastic Platform Team 一切&#xff0c;从某种程度上说&#xff0c;每个人&#xff0c;都是数据。在我们这个数据驱动的世界里&#xff0c;我们的兴趣和互动被统计和分类&#xff0c;为组织提供如何创造更好的产品和更好的体验的见解。更不用说&…...

基于SSM和VUE的药品管理系统(含源码+sql+视频导入教程+文档)

&#x1f449;文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1 、功能描述 基于SSM和VUE的药品管理系统2拥有两种角色 管理员&#xff1a;药品管理、出库管理、入库管理、销售员管理、报损管理等 销售员&#xff1a;登录注册、入库、出库、销售、报损等 1.1 背景…...

机器学习--神经网络

神经网络 计算 神经网络非常简单&#xff0c;举个例子就理解了&#xff08;最后一层的那个写错了&#xff0c;应该是 a 1 ( 3 ) a^{(3)}_1 a1(3)​&#xff09;&#xff1a; n o t a t i o n notation notation&#xff1a; a j ( i ) a^{(i)}_j aj(i)​ 表示第 i i i 层的…...

post请求中有[]报400异常

序言 在和前端同学联调的时候&#xff0c;发现只要post请求参数里面有[]&#xff0c;就会报400的错误 可以看到日志中&#xff1a; The valid characters are defined in RFC 7230 and RFC 3986 解决办法&#xff1a; 参考了博客&#xff1a; spring boot 中解决post请求中有…...

ad22 如何在pcb 的keepout layout 上画线 然后裁出想要的黑色画布大小

选择下面的keepout layout&#xff0c;然后右键打开&#xff0c;然后按照这个图进行选择 然后看这个界面我收藏的第三个&#xff0c;就可以了...

SparkSQL SET和RESET

前言 我们在用代码写spark程序的时候,如果要设置一些配置参数,可以通过: SparkConf val conf = new SparkConf().setMaster("local[2]").setAppName("CountingSheep") val sc = new SparkContext(conf)spark-submit ./bin/spark-submit --name "M…...

java 中线程的等待和唤醒

java.lang.Object#wait() java.lang.Object#wait(long) java.lang.Object#wait(long, int) java.lang.Object#notify() java.lang.Object#notifyAll() 这几个方法属于Object&#xff0c;在使用 synchronized 实现同步的时候&#xff0c;需要使用当前监视器的以上方法&#xff…...

windows下自启springboot项目(jar+nginx)

1、将springboot项目打包为jar 2、新建文本文档 test.txt&#xff0c;并输入 java -jar D:\test\test.jar&#xff08;修改为自己的jar包位置&#xff09; 保存 然后修将后缀名改为 .bat 3、在同一目录再新建 文本文档test.txt&#xff0c;输入以下内容&#xff0c;&…...

解锁SAP数据的潜力:SNP Glue与SAP Datasphere的协同作用

在各种文章中&#xff0c;我们研究了客户如何利用SNP Glue与基于云的数据仓库和数据湖相结合&#xff0c;以充分利用其SAP数据。SNP Glue 通过高性能集成解决方案帮助客户解锁 SAP 数据孤岛。例如&#xff0c;可以使用SNP Glue先进的增量捕获&#xff08;CDC&#xff09;近乎实…...

Missing package to enable rendering OpenAI Gym in Colab

题意&#xff1a;“缺少用于在 Colab 中渲染 OpenAI Gym 的软件包。” 问题背景&#xff1a; Im attempting to render OpenAI Gym environments in Colab via a Mac using the StarAI code referenced in previous questions on this topic. However, it fails. The key erro…...

通过打包 Flash Attention 来提升 Hugging Face 训练效率

简单概述 现在&#xff0c;在 Hugging Face 中&#xff0c;使用打包的指令调整示例 (无需填充) 进行训练已与 Flash Attention 2 兼容&#xff0c;这要归功于一个最近的 PR以及新的DataCollatorWithFlattening。 最近的 PRhttps://github.com/huggingface/transformers/pull/3…...

用hiredis连接redis

hiredis 什么是 Hiredis Hiredis 是一个用于与 Redis 服务器进行通信的 C 语言库。它提供了一组 API&#xff0c;方便开发者在各种应用场景中实现与 Redis 服务器的数据交互操作。 在服务器端的应用中&#xff0c;比如构建 Web 服务或者后端处理程序时&#xff0c;如果需要频…...

eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)

说明&#xff1a; 想象一下&#xff0c;你正在用eNSP搭建一个虚拟的网络世界&#xff0c;里面有虚拟的路由器、交换机、电脑&#xff08;PC&#xff09;等等。这些设备都在你的电脑里面“运行”&#xff0c;它们之间可以互相通信&#xff0c;就像一个封闭的小王国。 但是&#…...

51c自动驾驶~合集58

我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留&#xff0c;CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制&#xff08;CCA-Attention&#xff09;&#xff0c;…...

从WWDC看苹果产品发展的规律

WWDC 是苹果公司一年一度面向全球开发者的盛会&#xff0c;其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具&#xff0c;对过去十年 WWDC 主题演讲内容进行了系统化分析&#xff0c;形成了这份…...

阿里云ACP云计算备考笔记 (5)——弹性伸缩

目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...

Matlab | matlab常用命令总结

常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...

【python异步多线程】异步多线程爬虫代码示例

claude生成的python多线程、异步代码示例&#xff0c;模拟20个网页的爬取&#xff0c;每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程&#xff1a;允许程序同时执行多个任务&#xff0c;提高IO密集型任务&#xff08;如网络请求&#xff09;的效率…...

css3笔记 (1) 自用

outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size&#xff1a;0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格&#xff…...

大学生职业发展与就业创业指导教学评价

这里是引用 作为软工2203/2204班的学生&#xff0c;我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要&#xff0c;而您认真负责的教学态度&#xff0c;让课程的每一部分都充满了实用价值。 尤其让我…...

【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习

禁止商业或二改转载&#xff0c;仅供自学使用&#xff0c;侵权必究&#xff0c;如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...

基于 TAPD 进行项目管理

起因 自己写了个小工具&#xff0c;仓库用的Github。之前在用markdown进行需求管理&#xff0c;现在随着功能的增加&#xff0c;感觉有点难以管理了&#xff0c;所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD&#xff0c;需要提供一个企业名新建一个项目&#…...