git 加入钩子和提交信息规范化

版权声明:转载请加入本文的出处以及地址,否侧追究版权! https://blog.csdn.net/alnorthword/article/details/88533709

用到的包

yorkie , cz-conventional-changelog-lint,commitizen,conventional-changelog-cli

初始话一个空的项目

新建文件夹gitHooks, 在该目录下进行npm init
在这里插入图片描述

安装yorkie

npm install yorkie -D

在这里插入图片描述

安装commitizen
Commitizen是一个格式化commit message的工具。

npm install commitizen -D --registry=https://registry.npm.taobao.org

在这里插入图片描述

我们用的是Angular的commit message规范,那么就在我们项目的目录下输入以下命令:

commitizen init cz-conventional-changelog --save --save-exact

./node_modules/.bin/commitizen init cz-conventional-changelog --save-dev --save-exact

在这里插入图片描述
**注意:**因为commitizen工具是基于Node.js的,而我们项目工程目录下是没有package.json文件,所以会报错:

Error: ENOENT: no such file or directory, open '/Users/***/package.json

接下来我们就用初始话一个package.json的文件。如果不知道请看博客中 项目中利用npm生成package.json的那点事儿

然后,您可以在package.json中添加一些不错的npm运行脚本,指向本地版本的commitizen:

Error: ENOENT: no such file or directory, open '/Users/***/package.json

如果是第二次配置,需要用–force:

commitizen init cz-conventional-changelog --save --force
./node_modules/.bin/commitizen init cz-conventional-changelog --save --force

这样对项目来说更方便,因为如果参与项目的人想要提交,他们需要做的就是运行 npm run commit,他们将获得开始提交所需的提示!

npm run commit

在这里插入图片描述
注意: 如果您使用precommit钩子感谢类似的东西husky,则需要为脚本命名除“commit”之外的其他东西(例如“cm”:“git-cz”)。原因是因为npm-scripts有一个“功能”,它自动运行名称为prexxx的脚本,其中xxx是另一个脚本的名称。本质上,如果您将脚本命名为“commit”,则npm和husky将运行两次“precommit”脚本,并且解决方法是阻止npm触发的precommit脚本。

测试

npm run commit 

我这里使用的yarn,你可以使用cnpm.根据个人喜好吧!
在这里插入图片描述

如何生成 CHANGELOG
安装conventional-changelog-cli

npm install conventional-changelog-cli -D --registry=https://registry.npm.taobao.org

在这里插入图片描述

在把 changelog 写入package.json里
在这里插入图片描述
输入yarn/cpm/npm run changelog

yarn run changelog

在这里插入图片描述

这样在每次发布之前修改下版本号,之后运行指令,然后提交到git,就能看到每次发布的周期啦

请看 Commit message 的格式说明

欢迎进入个人公众号 ,一起学习啊!

在这里插入图片描述

参考链接:

Commit message 和 Change log 编写指南
Git Commit Message Conventions
Angular的 Commit Message Guidelines
Angular的commit message
Git 写出好的 commit message

猜你喜欢

转载自blog.csdn.net/alnorthword/article/details/88533709
今日推荐