Commitlint 安装配置

 安装
1.  安装并创建配置文件
//npm:
npm install -D @commitlint/cli @commitlint/config-conventional

//yarn:
yarn add -D @commitlint/cli @commitlint/config-conventional
 项目根目录创建 commitlint.config.js 文件,内容如下:
export default {
  extends: ['@commitlint/config-conventional'],
  rules: {
    // 自定义规则(可选)
    'type-enum': [
      2, // 错误级别:0=禁用,1=警告,2=错误
      'always', // 条件:always/never
      [
        'build', //对项目构建系统或外部依赖项的更改。例如,修改构建脚本、配置文件等。
        'chore',// 非业务性的任务和更改。通常用于修改构建过程、辅助工具的代码,或者进行一些不涉及用户功能的工作
        'ci', //对持续集成 (Continuous Integration) 配置文件和脚本的更改
        'docs',// 文档变更,包括但不限于 README 文件、文档生成器或注释的变更
        'feat',// 新功能的添加。通常伴随着用户功能或其他明显的变更
        'fix',// 修复 bug
        'perf',//改进性能的代码更改
        'refactor',// 代码重构,不是修复 bug 也不是添加新功能的代码更改
        'revert',// 撤销先前的提交
        'style',// 与代码风格相关的更改,例如空格、格式化等,而不涉及功能性代码更改
        'test',// 添加或修改测试
      ],
    ],
    'subject-max-length': [2, 'always', 72], // 提交信息最大长度
  },
}
 2.  配置 git hooks
//npm:
# 安装 husky
npm install --save-dev husky
# 激活 git hooks
npx husky install
# 添加 commit-msg 钩子(已安装husky提交验证无效,注意检查commit-msg 钩子是否添加)
echo "npx --no -- commitlint --edit \$1" > .husky/commit-msg

//yarn:
# 安装 husky
yarn add --dev husky
# 激活 git hooks
yarn husky install
# 添加 commit-msg 钩子(已安装husky提交验证无效,注意检查commit-msg 钩子是否添加)
echo "yarn commitlint --edit \$1" > .husky/commit-msg
 3. 配置 script prepare
 在 package.json 中增加 prepare 脚本,用于在安装依赖时自动安装 husky。
{
  "scripts": {
    "prepare": "husky install"
    // other...
  }
}
 使用
 提交格式
type(optional scope?): description  //? 表示可选,不输入 scope 时可省略圆括号,注意冒号后面有空格
- type:提交的改动类型(如新增、修改、更新等)
- optional scope:标识此次提交主要涉及到代码中哪个模块
- description:一句话描述此次提交的主要内容
type
用于说明 commit 的类别:
●build: 对项目构建系统或外部依赖项的更改。例如,修改构建脚本、配置文件等。
●chore: 非业务性的任务和更改。通常用于修改构建过程、辅助工具的代码,或者进行一些不涉及用户功能的工作。
●ci: 对持续集成 (Continuous Integration) 配置文件和脚本的更改。
●docs: 文档变更,包括但不限于 README 文件、文档生成器或注释的变更。
●feat: 新功能的添加。通常伴随着用户功能或其他明显的变更。
●fix: 修复 bug。
●perf: 改进性能的代码更改。
●refactor: 代码重构,不是修复 bug 也不是添加新功能的代码更改。
●revert: 撤销先前的提交。
●style: 与代码风格相关的更改,例如空格、格式化等,而不涉及功能性代码更改。
●test: 添加或修改测试。
 重大修改
 当仓库产生比较重大的修改时,例如删除了某个 API,或者改变了大量的 API,可以通过以下方式来表示:

type!

在提交信息的 type 后面添加 ! 符号,表示该提交是重大更改。如:

feat!: 新增了新的 API,移除了旧的 API

 

 
posted @ 2025-09-29 09:46  justsilky  阅读(18)  评论(0)    收藏  举报