每次git提交信息的时候会先验证提交的格式是否符合规范,符合规范并运行eslint
两者都符合之后才可正常提交,并可以根据提交的信息自动生成日志信息。
一般是遵循 Angular Commit Message
校验commit 格式
主要使用 @commitlint/cli @commitlint/config-conventional 来校验commit是否符合规范 一般可以全局安装or本地安装
install
全局
1
|
npm install -g @commitlint/cli @commitlint/config-conventional
|
本地
1
|
npm install --save-dev @commitlint/cli @commitlint/config-conventional
|
如果是全局可以使用下面这条命令查看全局有没有安装成功
1
|
npm ls -g -depth=0
|
生成配置文件
在项目根目录下运行下面这个命令生成对应的配置文件
1
|
touch commitlint.config.js
|
文件内容一般可以设置如下:
1
2
3
4
5
6
7
8
9
10
|
module.exports = {
extends: ['@commitlint/config-conventional'],
rules: {
'type-enum': [2, 'always', [
"feat", "fix", "docs", "style", "refactor", "test", "chore", "revert"
]],
'subject-full-stop': [0, 'never'],
'subject-case': [0, 'never']
}
};
|
husky
一般校验规则设置好之后会结合husky提供的钩子,在每次commit之前会先去校验,如果不符合校验规则,则提交失败
husky 继承了git下所有的钩子,需要注意在使用husky之前,先git init 一下,否则没有 .git文件,就没法继承git的钩子了
如果项目中删除了.git 文件,那需要在git init之后重新安装一下husky否则就不work了
install