每次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