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

Git代码提交规范

Git 代码规范

Git 每次提交代码,都是需要写 Commit message(提交说明),否则就不允许提交。

Commit message 的格式 (三部分):

  • Heaher ----- 必填

    • type ---必需

    • scope --- 可选

    • subject --- 必需

  • Body ---- 可省略

  • Footer ---- 可省略

Type说明

用于说明 commit  的类别,仅支持允许以下7个标识。

  • feat:新功能 (feature)

  • fix: 修补bug

  • docs:文档(documentation)

  • style:格式(不影响代码运行的变动)

  • refactor:重构 (既不是新增功能,也不是修改bug的代码变动)

  • test:增加测试

  • chore:构建过程和辅助工具的变动注释


如果type为featfix,则该 commit 将肯定出现在 Change log 之中。其他情况(docschorestylerefactortest)由你决定,要不要放入 Change log,建议是不要。

图片


效果如下:

图片

Scope

scope用于说明 commit 影响的范围,比如数据层、控制层、视图层等等,视项目不同而不同。

例如在Angular,可以是$location, $browser, $compile, $rootScope, ngHref, ngClick, ngView等。

如果你的修改影响了不止一个scope,你可以使用*代替。

subject

subject是 commit 目的的简短描述,不超过50个字符。

其他注意事项:

  • 以动词开头,使用第一人称现在时,比如change,而不是changed或changes

  • 第一个字母小写

  • 结尾不加句号(.)

Body

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

有两个注意点:

  • 使用第一人称现在时,比如使用change而不是changed或changes。

  • 永远别忘了第2行是空行

  • 应该说明代码变动的动机,以及与以前行为的对比。

Footer

Footer 部分只用于以下两种情况:

  • 不兼容变动

    • 如果当前代码与上一个版本不兼容,则 Footer 部分以BREAKING CHANGE开头,后面是对变动的描述、以及变动理由和迁移方法

  • 关闭 Issue

    • 如果当前 commit 针对某个issue,那么可以在 Footer 部分关闭这个 issue 。

Closes #234

  

Revert

还有一种特殊情况,如果当前 commit 用于撤销以前的 commit,则必须以revert:开头,后面跟着被撤销 Commit 的 Header。

revert: feat(pencil): add 'xxxxx' option` `This reverts commit docsxxx.


Body部分的格式是固定的,必须写成This reverts commit <hash>.,

其中的hash是被撤销 commit 的 SHA 标识符。

  • 如果当前 commit 与被撤销的 commit,在同一个发布(release)里面,

那么它们都不会出现在 Change log 里面。

  • 如果两者在不同的发布,那么当前 commit,会出现在 Change log 的Reverts小标题下面。

总结

  • feat: 项目名-xxx功能或需求变动的修改
  • fix: 项目名-XXX问题bug的修复
  • refactor: 项目名-xxx代码重构
  • style: 项目名-xxx代码格式整理
  • config: 项目名-xxx配置文件修改
  • docs: 项目名-xxx文档修改
  • revert: 项目名-XX代码回滚
  • test: 项目名-XXX测试类

相关文章:

Git代码提交规范

Git 代码规范Git 每次提交代码&#xff0c;都是需要写 Commit message&#xff08;提交说明&#xff09;&#xff0c;否则就不允许提交。Commit message 的格式 (三部分)&#xff1a;Heaher ----- 必填type ---必需scope --- 可选subject --- 必需Body ---- 可省略Footer ---- …...

【JavaScript速成之路】JavaScript内置对象--Math和Date对象

&#x1f4c3;个人主页&#xff1a;「小杨」的csdn博客 &#x1f525;系列专栏&#xff1a;【JavaScript速成之路】 &#x1f433;希望大家多多支持&#x1f970;一起进步呀&#xff01; 文章目录前言1&#xff0c;Math对象1.1&#xff0c;常用属性方法1.1.1&#xff0c;获取x的…...

(自用POC)Fortinet-CVE-2022-40684

本文转载于&#xff1a;https://mp.weixin.qq.com/s?__bizMzIzNDU5Mzk2OQ&mid2247485332&idx1&sn85931aa474f1ae2c23a66bf6486eec63&chksme8f54c4adf82c55c44bc7b1ea919d44d377e35a18c74f83a15e6e20ec6c7bc65965dbc70130d&mpshare1&scene23&srcid…...

ConvNeXt V2实战:使用ConvNeXt V2实现图像分类任务(二)

文章目录训练部分导入项目使用的库设置随机因子设置全局参数图像预处理与增强读取数据设置Loss设置模型设置优化器和学习率调整算法设置混合精度&#xff0c;DP多卡&#xff0c;EMA定义训练和验证函数训练函数验证函数调用训练和验证方法运行以及结果查看测试热力图可视化展示完…...

【人工智能与深度学习】基于正则化潜在可变能量的模型

【人工智能与深度学习】基于正则化潜在可变能量的模型 正则化潜变量能量基础模型稀疏编码FISTALISTA稀疏编码示例卷积稀疏编码自然图像上的卷积稀疏编码可变自动编码器正则化潜变量能量基础模型 具有潜在变量的模型能够生成预测分布 y ‾ \overline{y}...

【Leetcode——排序的循环链表】

&#x1f60a;&#x1f60a;&#x1f60a; 文章目录一、力扣题之排序循环链表二、解题思路1. 使用双指针法2、找出最大节点&#xff0c;最大节点的下一个节点是最小节点&#xff0c;由此展开讨论总结一、力扣题之排序循环链表 题目如下&#xff1a;航班直达&#xff01;&#…...

ChatGPT研究分享:机器第一次开始理解人类世界目录

0、为什么会对ChatGPT感兴趣一开始&#xff0c;我对ChatGPT是没什么关注的&#xff0c;无非就是有更大的数据集&#xff0c;完成了更大规模的计算&#xff0c;所以能够回答更多的问题。但后来了解到几个案例&#xff0c;开始觉得这个事情并不简单。我先分别列举出来&#xff0c…...

【linux】Linux基本指令(上)

前言&#xff1a; 在之前我们已经简单了介绍了一下【Linux】&#xff0c;包括它的概念&#xff0c;由来啊等进行了讲解&#xff0c;接下来我们就将正式的踏入对其的学习&#xff01;&#xff01;&#xff01; 本文目录&#x1f449;操作系统的概念1.命令的语法1.1命令介绍1.2选…...

程序员必会技能—— 使用日志

目录 1、为什么要使用日志 2、自定义日志打印 2.1、在程序中得到日志对象 2.2、使用日志对象打印日志 2.3、日志格式 3、日志的级别 3.1、日志级别的分类 3.2、日志级别的设置 4、持久化日志 5、更简单的日志输出——lombok 5.1、如何在已经创建好的SpringBoot项目中添加…...

生成项目的包依赖文件requirements.txt

目录生成项目的包依赖文件requirements.txtrequirements.txt文件怎么来&#xff1f;使用pipreqs第三方库requirements.txt文件使用requirements.txt生成项目的包依赖文件requirements.txt 在安装部署代码时或者使用别人的项目时&#xff0c;会需要安装项目的依赖包&#xff0c…...

安卓渐变的背景框实现

安卓渐变的背景框实现1.背景实现方法1.利用PorterDuffXfermode进行图层的混合&#xff0c;这是最推荐的方法&#xff0c;也是最有效的。2.利用canvas裁剪实现&#xff0c;这个方法有个缺陷&#xff0c;就是圆角会出现毛边&#xff0c;也就是锯齿。3.利用layer绘制边框1.背景 万…...

【拳打蓝桥杯】算法前置课——时间复杂度与空间复杂度

文章目录前言为什么需要复杂度分析&#xff1f;大O复杂度表示法时间复杂度分析几种常见时间复杂度实例分析空间复杂度分析内容小结最后说一句&#x1f431;‍&#x1f409;作者简介&#xff1a;大家好&#xff0c;我是黑洞晓威&#xff0c;一名大二学生&#xff0c;希望和大家一…...

vite中动态引入图片,打包之后找不到图片地址?

一般来说项目中我们集中存放图片&#xff0c;然后希望在页面中直接引入&#xff01; 更好的就是直接在模板中调用一个函数 然后传入图片的名字就可以显示出来 事实上确实可以办到&#xff0c;我们用到了一个 new URL import.meta.url这俩个东西 再src目录下 static 下创建一…...

Docker 常用命令大全

目录 一、Docker &#xff08;一&#xff09;Docker基础命令 &#xff08;二&#xff09;docker镜像命令 &#xff08;三&#xff09;docker容器命令 &#xff08;四&#xff09;docker运维命令​​​​​​​ 一、Docker 容器是一种虚拟化技术&#xff0c;容器是镜像实例…...

React项目规范:目录结构、根目录别名、CSS重置、路由、redux、二次封装axios

React项目&#xff08;一&#xff09;一、创建项目二、目录结构三、craco配置别名并安装less1.craco安装2.配置别名3.安装less四、CSS样式重置五、配置路由六、配置Redux1.创建大仓库2.创建小仓库&#xff08;1&#xff09;方式1&#xff1a;RTK&#xff08;2&#xff09;方式2…...

SystemVerilog 教程第一章:简介

SystemVerilog 教程像 Verilog 和 VHDL 之类的硬件描述语言 (HDL) 主要用于描述硬件行为&#xff0c;以便将其转换为由组合门电路和时序元件组成的数字块。为了验证 HDL 中的硬件描述正确无误&#xff0c;就需要具有更多功能特性的面向对象的编程语言 (OOP) 来支持复杂的测试过…...

【Java|基础篇】逻辑控制-顺序结构、分支结构和循环结构

文章目录顺序结构分支结构if单分支语句if else双分支语句if else if else多分支语句switch语句循环语句for循环while循环do while循环continuebreak总结顺序结构 顺序结构是指代码按照从上往下的顺序依次执行 分支结构 选择语句是条件成立时,才会执行的语句.共有三种.分为是if…...

【数据挖掘实战】——家用电器用户行为分析及事件识别(BP神经网络)

项目地址&#xff1a;Datamining_project: 数据挖掘实战项目代码 目录 一、背景和挖掘目标 1、问题背景 2、原始数据 3、挖掘目标 二、分析方法与过程 1、初步分析 2、总体流程 第一步&#xff1a;数据抽取 第二步&#xff1a;探索分析 第三步&#xff1a;数据的预处…...

Kmeans聚类算法-python

import random import pandas as pd import numpy as np import matplotlib.pyplot as plt # 计算欧拉距离 def calcDis(dataSet, centroids, k): clalist[] for data in dataSet: diff np.tile(data, (k, 1)) - centroids #相减 (np.tile(a,(2,1))就是把…...

Linux|奇怪的知识|locate命令---文件管理小工具

前言: Linux的命令是非常多的&#xff0c;有一些冷门的命令&#xff0c;虽然很少用&#xff0c;但可能会有意想不到的功能&#xff0c;例如&#xff0c;本文将要介绍的locate命令。 &#xff08;平常很少会想到使用此命令&#xff0c;find命令使用的更多&#xff0c;偶然想起…...

排查华为USG防火墙上不了网?先检查这5个配置点(附真实配置案例)

华为USG防火墙上网故障排查实战指南 当内网用户突然无法访问互联网时&#xff0c;作为运维人员往往会面临巨大的压力。华为USG防火墙作为企业网络的核心安全设备&#xff0c;其配置的每一个细节都可能成为网络连通性的关键。本文将从一个真实的故障排查案例出发&#xff0c;带您…...

FanControl风扇识别故障排查指南:从零开始解决“风扇隐身“问题

FanControl风扇识别故障排查指南&#xff1a;从零开始解决"风扇隐身"问题 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/G…...

ARM TLB失效指令原理与应用实践

1. ARM TLB失效指令深度解析在ARM架构中&#xff0c;TLB&#xff08;Translation Lookaside Buffer&#xff09;作为内存管理单元&#xff08;MMU&#xff09;的关键组件&#xff0c;负责缓存虚拟地址到物理地址的转换结果。当操作系统修改页表或进行上下文切换时&#xff0c;必…...

如何通过开源自动化工具优化《明日方舟》基建管理效率

如何通过开源自动化工具优化《明日方舟》基建管理效率 【免费下载链接】arknights-mower 《明日方舟》长草助手 项目地址: https://gitcode.com/gh_mirrors/ar/arknights-mower 在《明日方舟》的长期游戏过程中&#xff0c;基建管理往往成为玩家需要频繁处理的核心环节。…...

从 AI 电影到小说:《凰标》延续《第一大道》的东方梦@凤凰标志

科技为翼&#xff0c;文脉为魂&#xff1b; 大道开路&#xff0c;凰标定局。一、时代之问&#xff1a;当AI沦为流量收割机&#xff0c;谁来守护东方文脉&#xff1f; AI 正以惊人的速度渗透文娱产业&#xff0c;却多数被资本用作「快餐内容」的流水线。 海棠山铁哥反其道而行—…...

AI账号自动化管理工具集:从注册到运维的全流程实战指南

1. 项目概述&#xff1a;一个AI账号自动化管理的“军火库”如果你正在批量使用ChatGPT、Claude、Gemini这些AI服务&#xff0c;或者在做一些相关的开发和研究&#xff0c;那你肯定遇到过这些让人头疼的问题&#xff1a;注册账号需要接码、管理几十上百个API密钥手忙脚乱、临时邮…...

揭秘HunterPie:如何用现代化覆盖层技术革新《怪物猎人:世界》体验

揭秘HunterPie&#xff1a;如何用现代化覆盖层技术革新《怪物猎人&#xff1a;世界》体验 【免费下载链接】HunterPie-legacy A complete, modern and clean overlay with Discord Rich Presence integration for Monster Hunter: World. 项目地址: https://gitcode.com/gh_m…...

如何用Layerdivider快速实现智能图像分层:面向设计师和开发者的完整指南

如何用Layerdivider快速实现智能图像分层&#xff1a;面向设计师和开发者的完整指南 【免费下载链接】layerdivider A tool to divide a single illustration into a layered structure. 项目地址: https://gitcode.com/gh_mirrors/la/layerdivider Layerdivider是一款强…...

DevOps与MCP协议:构建AI增强型智能运维工作台

1. 项目概述&#xff1a;DevOps与MCP的交汇点最近在GitHub上看到一个挺有意思的项目&#xff0c;叫rohitg00/awesome-devops-mcp-servers。如果你是做DevOps或者对AI辅助编程感兴趣&#xff0c;这个仓库绝对值得你花时间研究。简单来说&#xff0c;这是一个精心整理的列表&…...

重新定义下载体验:ctfileGet城通网盘高速下载完整指南

重新定义下载体验&#xff1a;ctfileGet城通网盘高速下载完整指南 【免费下载链接】ctfileGet 获取城通网盘一次性直连地址 项目地址: https://gitcode.com/gh_mirrors/ct/ctfileGet 你是否曾经面对城通网盘几十KB/s的下载速度感到绝望&#xff1f;当急需一个大文件时&a…...