IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> 【Lint】Git提交记录格式化 —— commitlint -> 正文阅读

[开发工具]【Lint】Git提交记录格式化 —— commitlint

git提交记录格式化 —— Commitlint

前言

使用方式

依赖安装

npm i husky -D (husky v7版本)
npm i @commitlint/config-conventional @commitlint/cli -D

husky init

 npx husky install
image-20211127150619265

commit 文本格式

<type>(<scope>): <subject>
<空行>
<body>
<空行>
<footer>

【Header】

  • type 标识commit类别
  • scope 标识commit影响范围
  • subject 本次修改的简单描述

【Body】

? 详细描述本次提交

【footer】

?

commitlint.config.ts配置

常用例子

module.exports = {
  extends: ['@commitlint/config-conventional'],
  rules: {
    'scope-enum':[2,'always',['portal-cms','portal-app']],
    'scope-empty': [2, 'never'], // scope允许为空
  },
};

image-20211127152039484

image-20211127152304478

Rule

【规则名称】[level,applicable,value]

  • Level 校验等级
    • 0 禁止
    • 1 警告
    • 错误
  • applicable
    • always
    • never
  • value 参数值
    • 规则数组 Array
    • 返回规则数组函数 ()=> arry
    • Promise数组 ()=> Promise
RuleIntro
header-caseheader单词格式upper-case全大写)
header-min-lengthheader最小内容长度
header-max-lengthheader最大内容长度
header-full-stopheader中止符
type-enumtype枚举值
type-emptytype是否允许空
type-casetype单词格式(upper-case全大写)
type-min-lengthtype最小内容长度
type-max-lengthtype最大内容长度
scope-enumscope枚举值
scope-emptyscope是否允许为空
scope-casescope单词格式
scope-max-lengthscope最大内容长度
scope-min-lengthscope最小内容长度
subject-casesubject单词格式
subject-emptysubject是否允许为空
subject-min-lengthsubject最小内容长度
subject-max-lengthsubject最大内容长度
subject-full-stopsubject中止符
subject-exclamation-mark分割符
body-casebody单词格式(upper-case全大写)
body-emptybody是否为空
body-full-stopbody 中止符
body-min-lengthbody最小内容长度
body-max-lengthbody最大内容长度
body-max-line-lengthbody最大行数
body-leading-blankbody开头空行
body-full-stopbody中止符
footer-emptyfooter是否允许为空
footer-leading-blankfooter开头空行
footer-min-lengthfooter最小内容长度
footer-max-lengthfooter最大内容长度
footer-max-line-lengthfooter最大内容行数
references-empty
signed-off-by
trailer-exists

【type-enum】

type可配置

rules: {
  'type-enum': [2, 'always', ['text']]
}

image-20211127152523818

(extends @commitlint/config-conventional)默认提供如下type-enum

  • feat:新功能(feature)
  • docs:文档(documentation)
  • style: 格式(不影响代码运行的变动)
  • refactor:重构(即不是新增功能,也不是修改bug的代码变动)
  • test:增加测试
  • chore:构建过程或辅助工具的变动

自定义插件

module.exports = {
  rules: {
    'custom-rule': [2, 'always'],
  },
  plugins: [
    {
      rules: {
      	// 定义自定义rule校验方法
        'custom-rule': (commit) => {
          const { subject } = commit;
          const HELLO_WORLD = 'Hello World';
          return [
            subject.includes(HELLO_WORLD),
            `Your subject should contain ${HELLO_WORLD} message`,
          ];
        },
      },
    },
  ],
};

image-20211127120452003

进阶使用

commit提示器

npm install @commitlint/cz-commitlint -D

提示器初始化

commitizen init cz-conventional-changelog --save

初始化后生成配置

// package.json

  "config": {
        "commitizen": {
            "path": "./node_modules/cz-conventional-changelog"
        }
    }

image-20211127144635085

image-20211127144750154

最优实践 git-cz

npm install git-cz -g

image-20211127145005114

image-20211127145122600

总结

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-11-28 11:30:06  更:2021-11-28 11:31:57 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 17:45:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码