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

用到的包

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

在使用Git提交代码时,我们应该遵循规范的提交信息格式,以便让其他人更好地理解这次代码提交的目的和内容。通常,我们可以使用一些工具来约束开发者编写符合规范的提交说明。一个常用的工具是Commitizen,它可以帮助我们生成符合规范的提交信息。 为了使用Commitizen,我们首先需要在项目中安装cz-conventional-changelog包,并将其配置为Git提交时的默认工具。具体操作是在项目的package.json文件中添加以下内容: ``` "scripts": { "cm": "git-cz" }, "config": { "commitizen": { "path": "./node_modules/cz-conventional-changelog" } } ``` 然后,在我们提交代码时,可以使用以下命令替代"git commit": ``` npm run cm ``` 这样,Commitizen就会弹出一个交互式的界面,要求我们填写符合规范的提交信息。通过这种方式,我们可以更好地规范我们的提交信息,提高代码审查、信息查找和版本回退的效率和可靠性。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Git 提交规范](https://blog.csdn.net/fd2025/article/details/124543690)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

禅思院

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值