# Commitlint 提交信息校验 我们在使用 `git commit` 时,git 会记录每一次的 `commit message`(提交信息)。 正确的描述 `commit message` 在多人协同开发一个项目时,显得尤其重要。 这里我们可以看一下 `angular` 的 [`commit message`](https://github.com/angular/angular/commits/main),会发现它的描述特别的清晰明了。 而 [`commitlint`](https://commitlint.js.org/#/) 就是对 `commit message` 进行的检查的一个工具,当不规范时会终止提交。 1. 安装依赖 - `@commitlint/cli`- Commitlint 本体 - `@commitlint/config-conventional`- 通用的提交规范 ```bash pnpm add @commitlint/cli @commitlint/config-conventional -D ``` 1. 创建 commitlint 配置 在根目录添加一个 `.commitlintrc.js` 文件,内容如下: ```javascript module.exports = { extends: ['@commitlint/config-conventional'] } ``` 1. 在 git `commit-msg` 时进行检查 执行下面这条命令即可: ```bash pnpm husky add .husky/commit-msg "pnpm commitlint --edit $1" ``` ## Commit Message 格式 配置完成之后就可以在每次 `git commit` 时对 `commit message` 进行校验了,规范有两种格式:单行信息和多行信息。 1. 单行信息 用于业务代码提交时使用,业务代码一般来说更改比较多而且无法具体说明其信息,具体的还需要看产品文档,所以用单行信息即可。 ```xml (): ``` 1. 多行信息 用于提交一些不经常更改的功能型代码时使用,如:某个功能函数的新增、修改或重构,目录结构的调整(工程化调整),架构的更改等,这些我们需要进行详细说明防止出现遗忘。 ```xml (): // 空行