【Git】Conventional Commit提交规范

news/2024/7/24 10:20:01 标签: git

Conventional Commit提交规范

说明

在Git规范中,提交信息(commit message)通常按照某个约定来编写,以提供更多上下文,帮助团队成员理解每次提交的目的。一种广泛使用的约定是Conventional Commits规范,它推荐的提交信息格式如下:

<type>[optional scope]: <description>

[optional body]

[optional footer(s)]

其中,<type>字段表明了提交的类别,用以告知团队这次提交改变了代码库的哪一部分或做了什么类型的更改。常见的type类别包括:

  • feat:表示实现了一个新的特性(feature)。例如,添加了一个新的按钮或新功能。

  • fix:表示修复了一个bug。例如,修复了导致程序崩溃的错误。

  • docs:文档的改动。例如更新了README文件。

  • style:代码样式的改动,注意这并不影响代码运行的逻辑。

  • refactor:代码重构。既没有新增功能,也没有修复bug。

  • perf:性能提升相关的代码改动。

  • test:增添测试或修正现有的测试。

  • chore:对构造过程或辅助工具和库的更改(不影响源文件、测试案例)。

  • ci:持续集成相关的改动。

  • build:影响构建系统或外部依赖关系的修改,例如gulp、webpack、npm的配置文件。

  • revert:撤销前一次提交。

需要注意的事项:

  1. 提交信息要清晰、简洁,尽可能在第一行就概括这次提交的主旨。

  2. <type>字段要小写,并且与冒号之间要有空格。

  3. 针对featfix类型的提交,它们经常出现在版本更迭时,因此要确保描述足够明了,以便自动生成CHANGELOG。

  4. 当提交随着时间累积变得太多,遵循规范的提交信息使得团队成员易于追踪和理解代码变动历史。

  5. 如果需要,可以加上作用域(scope)来提供额外的上下文,例如针对某个特定模块或组件的更改。

  6. 可以使用工具来强制实施提交消息规范,比如commitlinthusky

  7. 后续追查问题时,根据规范编写的提交信息可以快速定位相关的更改。

通过遵守一个统一的提交信息写作规范,整个团队将获益于更加有组织、可读性更高的项目历史记录。

示例

以下是根据Conventional Commits规范,每种<type>的提交信息示例:

  • feat(特性):

    git commit -m "feat(authentication): add JWT token service"
    

    这个提交信息告诉我们添加了一个新的JWT令牌服务。

  • fix(修复):

    git commit -m "fix(login): resolve issue where session expires prematurely"
    

    表示修复了一个在登录模块中会导致会话过早到期的问题。

  • docs(文档):

    git commit -m "docs(readme): update installation instructions"
    

    更新了安装说明部分的README文件。

  • style(样式):

    git commit -m "style: format code with prettier"
    

    使用Prettier格式化代码样式,没有改变代码逻辑。

  • refactor(重构):

    git commit -m "refactor(store): simplify state management logic"
    

    简化了状态管理逻辑。

  • perf(性能):

    git commit -m "perf(image-loader): improve image loading speed by 50%"
    

    提高了图像加载速度50%。

  • test(测试):

    git commit -m "test(api): add tests for user service"
    

    为用户服务添加测试案例。

  • chore(琐事):

    git commit -m "chore: update package.json dependencies"
    

    更新了package.json文件中的依赖信息。

  • ci(持续集成):

    git commit -m "ci: add lint stage to CI pipeline"
    

    在CI流水线中增加代码lint检查阶段。

  • build(构建):

    git commit -m "build(webpack): add sourcemap support for development build"
    

    为开发构建添加了源码映射(sourcemap)支持。

  • revert(回滚):

    git commit -m "revert: feat(pagination): custom pagination component"
    

    回滚之前添加的自定义分页组件特性。

这些是按照Conventional Commits规范编写的提交信息示例,让你的团队和后来者更容易理解代码库历史。请注意替换括号内具体描述为你自己的实际情况。


http://www.niftyadmin.cn/n/5348680.html

相关文章

HTML/JS实现漂亮的时钟效果(附带源码)

实例代码如下&#xff1a; <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width, initial-scale1.0"> <title>漂亮的时钟效果</…

正则匹配 | 正则实际应用探索分享

这并不是一篇教正则基础的文章&#xff0c;其正则式不能对您进行使用后的结果负责&#xff0c;请以研究的眼光看待本篇文章。 技术就是懒人为了更好的懒才会想办法搞的东西&#xff0c;我最近因为某些原因需要频繁删除注释 我就想到通过替换的正则功能快速删除文件中的简单注…

人工智能与机器学习在工业质量检测中的融合发展

人工智能与机器学习在工业质量检测中的融合发展 随着科技的进步&#xff0c;人工智能和机器学习已经成为引领工业质量检测变革的重要力量。它们在工业领域的应用&#xff0c;不仅提高了检测的准确性和效率&#xff0c;也为企业带来了前所未有的发展机遇。 一、机器学习在工业…

策略模式的应用(省去一系列的`if`和`elseif`)

目录 前言策略模式的定义举个例子一、第一版实现&#xff1a;二、第二版实现&#xff08;函数组合&#xff09;&#xff1a;三、第三版实现&#xff08;策略模式&#xff09;&#xff1a; 策略模式的优缺点优点&#xff1a;缺点&#xff1a; 小结 前言 从我个人理解来看&#…

Nacos部署

1、下载nacos压缩包 wget https://github.com/alibaba/nacos/releases/download/2.2.3/nacos-server-2.2.3.zip 2、创建nacos数据库 执行conf目录下mysql-schema.sql 3、修改conf目录下application.properties spring.sql.init.platformmysql db.num1 db.url.0jdbc:mysql://127…

Redis2-事务 连接Java 整合springboot 注解缓存

一、订阅和发布 Redis 发布订阅 (pub/sub) 是一种消息通信模式&#xff1a;发送者 (pub) 发送消息&#xff0c;订阅者 (sub) 接收消息。 Redis 客户端可以订阅任意数量的频道。 Redis的发布和订阅 客户端订阅频道发布的消息 频道发布消息 订阅者就可以收到消息 发布订阅的代…

【免费分享】全国道路网(分级)矢量数据

纯爱好 个人分享 数据详情 全国道路网&#xff08;分级&#xff09;矢量数据 地址&#xff1a;资源下载-数字地球开放平台 (geovisearth.com) 数据属性 数据名称&#xff1a;全国道路网&#xff08;分级&#xff09;矢量数据 道路类型分类&#xff1a;高速、国道、省道、铁…

js设计模式实例

js设计模式 设计模式&#xff08;Design pattern&#xff09;代表了最佳的实践&#xff0c;通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误…