Eson Wong  /  文章

Commitlint 使用入门

技术Web 开发约 1 分钟

Commitlint 是一个用于检查 Git 提交的 message 是否符合项目的规范的工具。规范的提交内容可以让开发者方便快速浏览查找比较代码,可以直接从 提交内容 生成 Change log,触发 CI 流程。

echo '提交内容' | npx commitlint

命令行工具

安装

全局安装 @commitlint/cli

npm install -g @commitlint/cli

# or

yarn global add @commitlint/cli

配置规则

@commitlint/config-conventional 包含了 约定式提交 的规则。

安装

npm install -g @commitlint/config-conventional

# or

yarn global add @commitlint/config-conventional

创建 commitlint.config.js 文件来配置

// commitlint.config.js
module.exports = {
  extends: ["@commitlint/config-conventional"],
};

使用 commitlint 命令来测试 commit message

运行 echo '提交内容' | commitlint 来测试 commit message。commitlint 命令会打印规范检查信息和返回状态码。

# Lint from stdin
echo 'foo: bar' | commitlint
# ⧗   input: foo: bar
# ✖   type must be one of [build, chore, ci, docs, feat, fix, perf, refactor, revert, style, test] [type-enum]

# ✖   found 1 problems, 0 warnings
# ⓘ   Get help: https://github.com/conventional-changelog/commitlint/#what-is-commitlint

npx 使用

npx @commitlint/cli

配合 Husky 使用

我写了一篇 Husky 入门教程 博文。下面介绍 Commitlint 和 Husky 配合,在提交 message 前自动使用 Commitlint 检查提交规范。

按照 Husky 入门教程 配置好 Husky, 使用下面的命令添加 Husky 的 commit-msg 的 hook:

npx husky add .husky/commit-msg 'npx --no -- commitlint --edit $1'
# or
yarn husky add .husky/commit-msg 'yarn commitlint --edit $1'

配制好后,提交时,Commitlint 会自动检查 commit message 是否符合项目中 commitlint.config.js 文件配制的规范。

← Nuxt.JS 介绍Mrm 使用入门 →

评论 · 0