gitcommit规范插件
规范提交信息格式,⽅便追踪代码
commitlint
commitlint是⼀个提交验证⼯具。原理是可以在实际的 git commit 提交到远程仓库之前使⽤ git 钩⼦来验证信息。提交不符合规则的信息将会被阻⽌提交到远程仓库。
先来看⼀下演⽰:
对于 Conventional Commits 规范,社区已经整理好了 @commitlint/config-conventional 包,我们只需要安装并启⽤它就可以了。
⾸先安装 commitlint 以及 conventional 规范:
npm install --save-dev @commitlint/cli @commitlint/config-conventional
接着在 package.json 中配置 commitlint 脚本:
"commitlint": {
"extends": [
"@commitlint/config-conventional"
]
},
当然如果你想单独对 commitlint 进⾏配置的话,需要建⽴校验⽂件 fig.js,不然会校验失败
为了可以在每次 commit 时执⾏ commitlint 来 检查我们输⼊的 message,我们还需要⽤到⼀个⼯具 —— husky。
husky 是⼀个增强的 git hook ⼯具。可以在 git hook 的各个阶段执⾏我们在 package.json 中配置好的 npm script。
⾸先安装 husky:angular安装
npm install --save-dev husky
接着在 package.json 中配置 commitmsg 脚本:
"husky": {
"hooks": {
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
}
},
到这⾥,commitlint就配置完成了~
commitizen(cz-cli)
commitizen是⼀款可以交互式建⽴提交信息的⼯具。它帮助我们从 type 开始⼀步步建⽴提交信息,具体效果如图所⽰:
下⾯让我们来看下如何来安装。
全局环境下安装:
commitizen 根据不同的adapter配置 commit message。例如,要使⽤ Angular 的 commit message 格式,可以安装cz-conventional-changelog。
# 需要同时安装commitizen和cz-conventional-changelog,后者是adapter
$ npm install -g commitizen cz-conventional-changelog
# 配置安装的adapter
$ echo '{ "path": "cz-conventional-changelog" }' > ~/.czrc
# 使⽤
$ git cz
本地项⽬安装:
# 安装commitizen
$ npm install --save-dev commitizen
# 接下来安装适配器
# for npm >= 5.2
$ npx commitizen init cz-conventional-changelog --save-dev --save-exact
# for npm < 5.2
$ ./node_modules/.bin/commitizen init cz-conventional-changelog --save-dev --save-exact
// package.json script字段中添加commit命令
"scripts": {
"commit": "git-cz"
}
// use
$ npm run commit
使⽤命令:
npm run commit
⾸先通过上下键控制指向你想要的 type 类型,分别对应有上⾯提到的feat、fix、docs、perf等:
然后会让你选择本次提交影响到的⽂件:
后⾯会让你分别写⼀个简短的和详细的提交描述:
最后会让你去判断本次提交是否是BREAKING CHANGE或者有关联已开启的issue:
弄完上⾯的这些后就可以git push 了
然后看记录就能看到看到规范的commit信息了
type:(本次commit影响的范围或⽂件) 描述内容
ps: 配置理论上应该是可以修改了 详细的可能需要⾃⼰看commitlint⽂档了
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论