目录
一、代码提交风格:
二、代码提交验证:
一、代码提交风格:
通常我们的git commit会按照统一的风格来提交,这样可以快速定位每次提交的内容,方便之后对版本进行控制。
但是如果每次手动来编写这些是比较麻烦的事情,我们可以使用一个工具:Commitizen
Commitizen 是一个帮助我们编写规范 commit message 的工具;
1.安装Commitizen
npm install commitizen -D
2.安装cz-conventional-changelog,并且初始化cz-conventional-changelog:
npx commitizen init cz-conventional-changelog --save-dev --save-exact
3.安装完成使用
这个时候我们提交代码需要使用 npx cz
-
第一步是选择type,本次更新的类型
-
第二步选择本次修改的范围(作用域)
-
第三步选择提交的信息
-
第四步提交详细的描述信息
-
第五步是否是一次重大的更改
-
第六步是否影响某个open issue
我们也可以在scripts(package.json)中构建一个命令来执行 cz:
如"commit":"cz" 这样我们可以直接使用npm run commit 来提交了
二、代码提交验证:
如果我们按照cz来规范了提交风格,但是依然有同事通过 git commit
按照不规范的格式提交应该怎么办呢?
-
我们可以通过commitlint来限制提交;
1.安装 @commitlint/config-conventional 和 @commitlint/cli
npm i @commitlint/config-conventional @commitlint/cli -D
2.在根目录创建commitlint.config.js文件,配置commitlint
module.exports = {
extends: ['@commitlint/config-conventional']
}
此处若显示module不存在,可在.eslintrc.cjs文件中的rules中声明'no-undef':'off'
3.使用husky生成commit-msg文件,验证提交信息:
npx husky add .husky/commit-msg "npx --no-install commitlint --edit $1"