【github 使用相关】提交pr和commit message Conventional Commits 规范 代码提交的描述该写什么?
目录
- Git 提交信息格式
- 格式描述
- Subject(标题)
- Body(正文)
- 规范的标签(Tag)
- 示例
- CG
Git 提交信息格式
格式描述
- 一般开源项目代码库根目录都会有一个
CONTRIBUTING.md或者其他类似名字的文档来介绍如何开始贡献,像https://github.com/imputnet/cobalt/blob/main/CONTRIBUTING.md。贡献代码时需要注意commit message的规范,可能每个开源项目的要求不尽相同,但大多遵守以下的conventional commits(中文版)格式:
<type>[optional scope]: <description>[optional body][optional footer(s)]
-
提交信息通常分为三部分,主要由 subject 和 body 组成:
- Subject(标题):简短、简洁的一行描述,通常限制在 50 字符以内。
- 空行:在 subject 和 body 之间留一个空行,以区分两部分。
- Body(正文):提供更详细的描述,包括为什么做这个修改、修改的内容、相关的上下文等。建议每行长度限制为 72 个字符。
Subject(标题)
- 简短描述:不超过 50 个字符,描述改动的主题。
- 使用标签:用类型标签开头,描述改动的操作类型。
- 没有句号:标题行不加句号。
Body(正文)
- 解释背景和动机:详细描述为什么做这个改动?有无相关的 bug 或任务?
- 描述具体修改内容:改动了什么,解决了什么问题。
- 每行限制在 72 个字符以内:使得正文内容更加易于阅读,特别是在终端或者 Git 日志中查看时。
规范的标签(Tag)
在提交 Git commit message 时,使用规范的标签(Tag)有助于清晰地表达提交内容,方便团队协作和版本管理。
-
feat:新增功能(feature)
示例:feat: 新增用户登录功能 -
fix:修复 Bug
示例:fix: 修复登录页面崩溃问题 -
docs:仅文档修改(Documentation)
示例:docs: 更新接口文档 -
style:代码格式调整,不影响功能(不涉及逻辑修改)
示例:style: 格式化代码,调整缩进 -
refactor:重构代码(不影响功能和修复 Bug)
示例:refactor: 优化登录逻辑,提升代码可读性 -
chore:其他杂项(构建、依赖管理、脚本任务)
示例:chore: 更新依赖包版本 -
perf:性能优化(Performance)
示例:perf: 优化数据加载速度 -
test:新增或修改测试代码
示例:test: 增加登录接口单元测试 -
ci:CI/CD 配置修改(持续集成相关)
示例:ci: 修改GitHub Actions配置 -
build:构建相关的修改(如webpack、rollup配置)
示例:build: 调整打包配置,支持多环境打包 -
revert:回滚之前的提交
示例:revert: 回滚错误的提交 abc123 -
wip(Work In Progress):进行中的工作,未完成的任务
示例:wip: 页面样式调整中 -
feat+fix:新增功能并修复相关 Bug
示例:feat/fix: 增加注册功能并修复输入校验问题 -
chore+docs:更新依赖并调整文档
示例:chore/docs: 更新依赖并修复API文档错误
示例
feat: Add **** to utilize **** // 添加新性能的commit message
- 新增了登录功能,并且是为了利用用户身份验证 API
feat: Add login functionality to utilize user authentication API
- 修改了某个 bug,并且用方法 A 替换了方法 B:
fix: Replace method B with method A to resolve issue with data processing
- 完整示例:
fix: Replace method A with method B in test to handle IndexedDB async read issue across browsersDue to occasional issues with IndexedDB async reads across different browser versions, method B is used in the test to ensure consistent behavior and data processing.
CG
- AI Commits|自动生成 commit message 工具
相关文章:
【github 使用相关】提交pr和commit message Conventional Commits 规范 代码提交的描述该写什么?
目录 Git 提交信息格式格式描述Subject(标题)Body(正文) 规范的标签(Tag)示例 CG Git 提交信息格式 格式描述 一般开源项目代码库根目录都会有一个 CONTRIBUTING.md 或者其他类似名字的文档来介绍如何开始…...
Docker—搭建Harbor和阿里云私有仓库
Harbor概述 Harbor是一个开源的企业级Docker Registry管理项目,由VMware公司开发。它的主要用途是帮助用户迅速搭建一个企业级的Docker Registry服务,提供比Docker官方公共镜像仓库更为丰富和安全的功能,特别适合企业环境使用。12 Harb…...
Maven的下载安装配置
maven的下载安装配置 maven是什么 Maven 是一个用于 Java 平台的 自动化构建工具,由 Apache 组织提供。它不仅可以用作包管理,还支持项目的开发、打包、测试及部署等一系列行为 Maven的核心功能 项目构建生命周期管理:Maven定义了项目构建…...
Rust:高性能与安全并行的编程语言
引言 在现代编程世界里,开发者面临的最大挑战之一就是如何平衡性能与安全性。在许多情况下,C/C这样的系统级编程语言虽然性能强大,但其内存管理的复杂性导致了各种安全漏洞。为了解决这些问题,Rust 作为一种新的系统级编程语言进入…...
matlab的cat()函数详解(OK)
cat函数的功能是 连接数组 功能: 按指定的维度连接多个向量 结构: C cat(dim, A, B) 按dim指定的维度连接向量A和BC cat(dim, A1, A2, A3,A4, …) 按dim指定的维度连接多个向量A1, A2,A3,A4…C cat(dim, A{:}) 将包含向量的cell或结构数组联合为一…...
将个人微信中的时间改成标准的日期时间格式
list1["10:05","上午 10:07","下午 2:07","晚上 8:07","昨天 16:07","星期天 19:27","星期二 19:27","星期四 14:27","2025年1月10日 17:43"]from datetime import datetime, time…...
centos9编译安装opensips 二【进阶篇-定制目录+模块】推荐
环境:centos9 last opensips -V version: opensips 3.6.0-dev (x86_64/linux) flags: STATS: On, DISABLE_NAGLE, USE_MCAST, SHM_MMAP, PKG_MALLOC, Q_MALLOC, F_MALLOC, HP_MALLOC, DBG_MALLOC, CC_O0, FAST_LOCK-ADAPTIVE_WAIT ADAPTIVE_WAIT_LOOPS1024, MAX_RE…...
初步搭建并使用Scrapy框架
目录 目标 版本 实战 搭建框架 获取图片链接、书名、价格 通过管道下载数据 通过多条管道下载数据 下载多页数据 目标 掌握Scrapy框架的搭建及使用,本文以爬取当当网魔幻小说为案例做演示。 版本 Scrapy 2.12.0 实战 搭建框架 第一步:在D:\pyt…...
基于SpringBoot的软件产品展示销售系统
作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏:…...
pycharm 运行远程环境问题 Error:Failed to prepare environment.
问题排查 拿到更详细的报错信息: Help > Diagnostic Tools > Debug Log Settings section: 添加下面的配置 com.intellij.execution.configurations.GeneralCommandLine 重显报错,我这里是再次运行代码打开 Help | Collect Logs and Diagnosti…...
Redis vs. 其他数据库:深度解析,如何选择最适合的数据库?
一、如何为项目选择合适的数据库? 选择合适的数据库是一个复杂的过程,需要综合考虑多个因素。下面几个维度来详细阐述: 1.数据模型 关系型数据库(RDBMS):适用于高度结构化、关联性强的数据,如电…...
HTB:Support[WriteUP]
目录 连接至HTB服务器并启动靶机 信息收集 使用rustscan对靶机TCP端口进行开放扫描 将靶机TCP开放端口号提取并保存 使用nmap对靶机TCP开放端口进行脚本、服务扫描 使用nmap对靶机TCP开放端口进行漏洞、系统扫描 使用nmap对靶机常用UDP端口进行开放扫描 使用ldapsearch…...
导出地图为pdf文件
有时我们只是想创建能共享的pdf文件,而不是将地图打印出来,arcpy的ExportToPDF()函数可以实现该功能. 操作方法: 1.在arcmap中打开目标地图 2.导入arcpy.mapping模块 import arcpy.mapping as mapping 3.引用当前活动地图文档,把该引用赋值给变量 mxd mapping.MapDocumen…...
Linux中关于glibc包编译升级导致服务器死机或者linux命令无法使用的情况
服务器上编译glibc2.29版本导致命令不能用 Inconsistency detected by ld.so: dl-call-libc-early-init.c: 37: _dl_call_libc_early_init: Assertion sym ! NULL failed!下面是造成不可用的原因 1.编译完gcc 2.29版本后,开始做映射,以达到能使用最新版…...
Golang Gin系列-8:单元测试与调试技术
在本章中,我们将探讨如何为Gin应用程序编写单元测试,使用有效的调试技术,以及优化性能。这包括设置测试环境、为处理程序和中间件编写测试、使用日志记录、使用调试工具以及分析应用程序以提高性能。 为Gin应用程序编写单元测试 设置测试环境…...
linux如何修改密码,要在CentOS 7系统中修改密码
要在CentOS 7系统中修改密码,你可以按照以下步骤操作: 步骤 1: 登录到系统 在登录提示符 localhost login: 后输入你的用户名。输入密码并按回车键。 步骤 2: 修改密码 登录后,使用 passwd 命令来修改密码: passwd 系统会提…...
Kafka后台启动命令
#保存日志 nohup ./kafka-server-start.sh ../config/server.properties > /path/to/logfile.log 2>&1 &#不保存日志 nohup ./kafka-server-start.sh ../config/server.properties >/dev/null 2>&1 & nohup: 是一个Unix/Linux命令,用于…...
使用Cline+deepseek实现VsCode自动化编程
不知道大家有没有听说过cursor这个工具,类似于AIVsCode的结合体,只要绑定chatgpt、claude等大模型API,就可以实现对话式自助编程,简单闲聊几句便可开发一个软件应用。 但cursor受限于外网,国内用户玩不了,…...
【redis初阶】redis客户端
目录 一、基本介绍 二、认识RESP(redis自定的应用层协议名称) 三、访问github的技巧 四、安装redisplusplus 4.1 安装 hiredis** 4.2 下载 redis-plus-plus 源码 4.3 编译/安装 redis-plus-plus 五、编写运行helloworld 六、redis命令演示 6.1 通用命令的…...
【ComfyUI专栏】ComfyUI 部署Kolors
什么是Kolors?我相信一定会有朋友可能第一次听说这个生图的模型,开始我也很难想象,这竟然是快手推出的可灵AI的项目,我们可以直接利用模型来生成图片和视频。 大家可以通过直接访问可灵AI的网址获取到可灵的项目,但是对于我们来说我们需要基于ComfyUI来生成必要的图片和视…...
HUNYUAN-MT 7B翻译终端性能展示:并发请求压力测试与响应时间报告
HUNYUAN-MT 7B翻译终端性能展示:并发请求压力测试与响应时间报告 最近在星图GPU平台上部署了HUNYUAN-MT 7B翻译终端,很多朋友都好奇它的实际表现到底怎么样。特别是当多个用户同时使用时,它还能不能保持快速响应?会不会因为压力太…...
Aria2磁力链接下载进阶技巧:多文件选择与限速设置详解
Aria2磁力链接下载进阶技巧:多文件选择与限速设置详解 在数字资源获取日益便捷的今天,高效下载工具成为技术爱好者和专业人士的必备利器。Aria2作为一款轻量级、多协议支持的命令行下载工具,凭借其强大的功能和灵活的配置选项,在L…...
2026算力大劫:全球开发者都在问:廉价算力到底去哪了?哪里的token性价比最高?
▶︎点击这里查看最新套餐https://coding.dongyao.ren/ 1. 2026:被“刺客”化的算力账单 进入2026年,AIGC行业并没有迎来预想中的“算力普惠”。相反,随着GPT-5.5等万亿参数模型成为企业刚需,以及北美云巨头在2026年第一季度集体…...
springboot+vue基于web的高校网上订餐平台设计系统
目录同行可拿货,招校园代理 ,本人源头供货商系统功能模块分析技术实现要点特色功能扩展项目技术支持源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作同行可拿货,招校园代理 ,本人源头供货商 系统功能模块分析 后台管理模块 管理员登录与权…...
wps操作表格时候卡顿
这里面使用英伟达显卡即可. 卡顿立马消失, intel显卡不靠谱....
保姆级教程:手把手教你用Python+Control库仿真PLL噪声传递函数
保姆级教程:手把手教你用PythonControl库仿真PLL噪声传递函数 锁相环(PLL)作为现代电子系统中的核心组件,其噪声特性直接影响通信质量、时钟精度等关键指标。但教科书上复杂的传递函数公式总让人望而生畏——直到你发现用几行Pyth…...
保姆级教程:在STM32F103上从零移植FreeModbus V1.6(RTU模式)
保姆级教程:在STM32F103上从零移植FreeModbus V1.6(RTU模式) Modbus协议作为工业自动化领域的"普通话",其开源实现FreeModbus凭借轻量级和可移植性成为嵌入式开发者的首选。本文将手把手带你在STM32F103C8T6开发板上完成…...
Gon部署与运维:生产环境配置、监控和故障排除完整手册
Gon部署与运维:生产环境配置、监控和故障排除完整手册 【免费下载链接】gon Your Rails variables in your JS 项目地址: https://gitcode.com/gh_mirrors/go/gon Gon是一款专为Rails应用设计的实用工具,能够轻松实现Rails变量在JavaScript中的共…...
深入理解fibjs Fiber机制:为什么它能提升并发性能
深入理解fibjs Fiber机制:为什么它能提升并发性能 【免费下载链接】fibjs JavaScript on Fiber (built on Chromes V8 JavaScript engine) 项目地址: https://gitcode.com/gh_mirrors/fi/fibjs 在JavaScript的世界中,处理高并发一直是开发者面临的…...
OpCore-Simplify:黑苹果配置的终极简化方案——从复杂到简单的革命性转变
OpCore-Simplify:黑苹果配置的终极简化方案——从复杂到简单的革命性转变 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 你是否曾经因为黑…...
