Git提交规范

news2024/12/28 18:48:00

 

目录

1、commit message format消息格式

2、还原

3、提交类型

4、Subject

5、Body

6、Footer

7、git-commit-plugin 插件


以下规范参考Angular提交的规范。

对于如何格式化git commit消息,我们有非常精确的规则。 这导致更多 在浏览项目历史时,易于理解的可读信息。 但同时 我们使用git commit消息来生成基于AngularJS提供的消息模板。

1、commit message format消息格式

每个提交消息由一个头、一个正文和一个页脚组成。 header有一个特殊的 包含类型、范围和主题的格式。

<type>(<scope>): <subject>

<BLANK LINE>

<body>

<BLANK LINE>

<footer>

header是必填的,header的范围是可选的。

提交消息的任何一行不能超过100个字符!这样可以让提交消息更轻松可以在GitHub和各种git工具中阅读。

2、还原

如果提交恢复了以前的提交,它应该以revert: 开始,后跟标头 回复的提交。 在正文中,它应该说:This reverts commit <hash>.,其中hash是提交的SHA 正在恢复。

3、提交类型

必须是下列之一:

  • feat: 新功能
  • fix: bug修复
  • docs: 仅文档更改
  • style: 不影响代码含义的更改(空白、格式设置、缺失 分号等)
  • refactor: 既不修复bug也不添加特性的代码更改
  • perf: 改进性能的代码更改
  • test: 添加缺少的测试或更正现有测试
  • chore: 对构建过程或辅助工具和库(如文档)的更改

4、Subject

包含变更的简明描述:

  1. 使用祈使句,现在时
  2. 首字母不大写
  3. 最后不以点(.)结尾

5、Body

就像在主语中一样,使用祈使式,现在时, 正文应该包括改变的动机,并将其与以前的行为进行对比。

6、Footer

页脚应包含有关重大变更的任何信息,将PR链接到对应的问题。

7、git-commit-plugin 插件

在VSCode中可以使用这个插件提交,能自动生成git提交消息。

插件配置:

GitCommitPlugin.ShowEmoji:是否显示emoji表情,默认为true.

{

  "GitCommitPlugin.ShowEmoji": true

}

GitCommitPlugin.CustomCommitType: 定制提交类型,默认为null

{

  "GitCommitPlugin.CustomCommitType": [

    "customTypeName"

  ]

}

或者

[

   {

       // 如果有重复的键,重写配置,否则添加为新的配置添加

       "key": "customTypeKey",

       "label": "customTypeName",

       "detail": "customTypeDetail",

       "icon":"customIcon"

   }

]

GitCommitPlugin.MaxSubjectCharacters:自定义主题的最大字数,默认为20

{

“GitCommitPlugin.MaxSubjectCharacters”:20

}

GitCommitPlugin.Template:自定义git commit模板。

{
  “GitCommitPlugin.Templates”:[
    {
        “templateName”:“角度”
        “templateContent”:“<图标><空格><类型>(<范围>):<空格><主题><输入><正文><输入><页脚>“
    },
    {
        “templateName”:git-cz
        “templateContent”:“<类型>(<范围>):<空格><图标><空格><主题><输入><正文><输入><页脚>“,
         //设置为默认提交模板
        “default”:true
    }
  ]
}

使用方法

在VSCode中,左侧点击【源代码管理】图标,可以看到当前项目下文件的改动情况,如下图所示:

如上图所示,M:代表已修改文件,U:代表的是未跟踪的文件。

我们输入提交信息进行提交,也可以选择上面的模板(比如Angular 模板),也就是git-commit-plugin的图标,右侧弹出模板信息。

点击【源代码管理】这一栏中,右侧倒数第三个图标, 

 

然后选中<Scope>这项,输入影响的范围。

然后在选中Subject选项,输入修改代码的描述。

选中<Body>选项,输入详情描述

选中<Footer>选项,输入修复bug的链接。

选中 Complete 选项,进行信息的完成。

最后点击左侧的【提交】按钮进行git的提交。

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Visual Studio】报错 C2653,使用 C++ 语言,配合 Qt 开发串口通信界面

知识不是单独的&#xff0c;一定是成体系的。更多我的个人总结和相关经验可查阅这个专栏&#xff1a;Visual Studio。 这个 Bug 是我做这个工程时遇到的&#xff1a;【Visual Studio】Qt 的实时绘图曲线功能&#xff0c;使用 C 语言&#xff0c;配合 Qt 开发串口通信界面。 文…

【面试】标准库相关题型(一)

文章目录 1. vector底层实现原理1.1 类构成1.2 构造函数1.3 插入元素1.4 删除元素1.5 读取元素1.6 修改元素1.7 释放空间 2. vector内存增长机制2.1 特点2.2 内存增长特性2.3 内存增长过程2.4 内存清理2.5 注意事项 3. vector中reserve和resize的区别3.1 共同点3.2 区别3.3 应用…

LangChain入门介绍

原文首发于博客文章LangChain介绍 我们先看看官方的定义 LangChain是一个基于语言模型开发应用程序的框架。它可以实现以下应用程序&#xff1a; 数据感知&#xff1a;将语言模型连接到其他数据源自主性&#xff1a;允许语言模型与其环境进行交互 LangChain的主要价值在于&…

现在可以使用开发者工具为苹果Vision Pro创建空间体验

库比蒂诺&#xff0c;加利福尼亚—苹果公司今天宣布&#xff0c;全新的软件工具及技术现已可供开发者使用&#xff0c;它们能够用于为苹果首款空间计算机—Apple Vision Pro&#xff0c;创造出独特且前所未有的应用体验。Vision Pro具备visionOS&#xff0c;这是全球首款空间操…

【ABAP】数据类型(三)「数据字典数据类型」

&#x1f482;作者简介&#xff1a; THUNDER王&#xff0c;一名热爱财税和SAP ABAP编程以及热爱分享的博主。目前于江西师范大学本科在读&#xff0c;同时任汉硕云&#xff08;广东&#xff09;科技有限公司ABAP开发顾问。在学习工作中&#xff0c;我通常使用偏后端的开发语言A…

Unity简单的移动相机

Unity3D制作一个会移动的方块&#xff08;还不会移动照相机&#xff09;_SMG_DSG的博客-CSDN博客 接着上一次的文章代码&#xff0c;我们继续写&#xff0c;其实简单的移动也是非常简单&#xff0c;我们只需要使用一个相机一直面对着方块的函数就行了 好了&#xff0c;废话不…

Tkinter之窗口布局介绍

Tkinter之窗口布局介绍 关于Python 的Tkinter窗口基础可参见https://blog.csdn.net/cnds123/article/details/127227651 Tkinter 之几何管理器&#xff08;geometry manager&#xff09;&#xff0c;也叫布局&#xff08;layout&#xff09;&#xff0c;是用来控制窗体中小部…

STM32单片机(八)DMA直接存储器存取----第二节:DMA直接存储器存取练习(DMA数据转运和DMA+AD多通道)

❤️ 专栏简介&#xff1a;本专栏记录了从零学习单片机的过程&#xff0c;其中包括51单片机和STM32单片机两部分&#xff1b;建议先学习51单片机&#xff0c;其是STM32等高级单片机的基础&#xff1b;这样再学习STM32时才能融会贯通。 ☀️ 专栏适用人群 &#xff1a;适用于想要…

PyTorch深度学习实战(4)——常用激活函数和损失函数详解

PyTorch深度学习实战&#xff08;4&#xff09;——常用激活函数和损失函数详解 0. 前言1. 常用激活函数1.1 Sigmoid 激活函数1.2 Tanh 激活函数1.3 ReLU 激活函数1.4 线性激活函数1.5 Softmax 激活函数 2. 常用损失函数2.1 均方误差2.2 平均绝对误差2.3 分类交叉熵 2.4 实现自…

分享一组开关按钮

先看效果&#xff1a; 再看代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>豆子开关</title><style>* {margin: 0;padding: 0;box-sizing: border-box;-webkit-tap-hi…

STM32单片机(八)DMA直接存储器存取----第一节:DMA直接存储器存取

❤️ 专栏简介&#xff1a;本专栏记录了从零学习单片机的过程&#xff0c;其中包括51单片机和STM32单片机两部分&#xff1b;建议先学习51单片机&#xff0c;其是STM32等高级单片机的基础&#xff1b;这样再学习STM32时才能融会贯通。 ☀️ 专栏适用人群 &#xff1a;适用于想要…

使用Python制作简单的图表并设置图表元素

案例01 在python中制作简单的图表 import matplotlib.pyplot as plt # 导入matplotlib模块 x [1, 2, 3, 4, 5, 6] # 给出x坐标的数据 y [2, 4, 6, 8, 10, 12] # 给出y坐标的数据 plt.plot(x, y, color red, linewidth 3, linestyle solid) # 绘制折线图 plt.show() # …

动态库的入口——VCRT(DLL)和CRT(SO)

摘要&#xff1a;为了更加深入的理解动态库的加载初始化过程&#xff0c;本文根据VCRT和Linux-CRT的代码实现详细描述了windows和linux平台下对应动态库加载时会进行哪些工作。本文重点关注全局变量的初始化时机&#xff0c;以及是否有其他额外的操作。   关键字&#xff1a;…

被微服务循环依赖调用坑了 !

最近的迭代转测后&#xff0c;遇到了一个比较有意思的问题。系统在测试环境整体运行还算平稳&#xff0c;但是过一段时间之后&#xff0c;就开始有接口超时了&#xff0c;日志中出现非常多的 “java.net.SocketTimeoutException: Read timed out”。 试了几次重启大法&#xf…

用魔法打败魔法!用AI制作AI分割数据集!

本节内容我们使用SAM将边界框转换为分割数据集&#xff0c;这对于实例分割数据集的制作非常有用&#xff0c;下面我会一步步给出我的代码&#xff0c;希望对你有用。 有兴趣的朋友可以研究一下这本书&#xff0c;详细的介绍了数据集制作到分割的实际项目应用&#xff01; 步骤 …

【 计算机组成原理 】期末重点

文章目录 前言第一章 【计算机系统概论】1.1 知识点1.1核心例题 第二章 【运算方法和运算器】2.1 知识点2.2 核心例题 第三章 【存储系统】3.1 知识点3.2 核心例题 第四章 【指令系统】4.1 知识点4.2 核心例题 第五章 【中央处理器】5.1 知识点5.2 核心例题 第六章6.1 知识点6.…

【MSP432电机驱动学习—上篇】TB6612带稳压电机驱动模块、MG310电机、霍尔编码器

所用控制板型号&#xff1a;MSP432P401r 今日终于得以继续我的电赛小车速通之路&#xff1a; 苏轼云 “ 素面常嫌粉涴 &#xff0c; 洗妆不褪朱红。 ” 这告诫我们不能只注重在表面粉饰虚伪的自己&#xff0c;要像梅花一样&#xff0c;不断磨砺自己的内在~ 后半句是 “…

JavaSE基础语法--类和对象

在Java中&#xff0c;一切皆为对象&#xff0c;类和对象是一个抽象的概念。我们可以从面向过程来过渡到面向对象。 那么什么是面向过程呢&#xff1f; 举一个简单的例子&#xff0c;现实生活中&#xff0c;你需要买一台手机的时候会经历如下步骤&#xff1a; 这里的每一步都可…

【python程序设计】——期末大作业

【python程序设计】——期末大作业&#x1f60e; 前言&#x1f64c;一、所用技术&#xff1a;二、 系统设计三、 系统实现3.1 核心功能代码实现&#xff1a;3.2 演示结果展示 总结撒花&#x1f49e; &#x1f60e;博客昵称&#xff1a;博客小梦 &#x1f60a;最喜欢的座右铭&am…

yaffs格式的根文件系统制作

linux内核启动后&#xff0c;它接下来要做的事就是启动应用程序&#xff0c;而应用程序在哪里呢&#xff0c;类比windows&#xff0c;启动时要读取c盘&#xff0c;所以linux的文件系统就类似于c盘&#xff0c;并且我们使用的ls、cp等一些类命令&#xff08;本质是应用程序&…