git commit规范化

本文介绍了如何在项目中实施git commit规范化,遵循Angular团队的提交信息规范,包括Header, Body和Footer三部分。通过安装commitizen、commitlint和husky,确保提交信息的一致性和整洁性,便于生成changelog日志和问题排查。同时,列举了解决校验不生效和交互式界面问题的方法。" 131266908,18874193,Python矩阵转置:NumPy实现详解,"['Python', 'NumPy', '矩阵运算', '科学计算']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

git commit规范化

项目中,每次使用git提交代码时都需要填写提交信息,每个人填写提交信息的风格都不一样,为了保持项目中git commit一致性,就需要对git commit进行规范化处理,规范的git commit 可以让项目的提交信息整洁明了,也可以让我们通过提交信息可以清晰的知道本次提交的内容,出现问题时也可以更快速的查询问题,如果项目需要生成changelog日志,规范的git commit可以让我们使用工具快速生成changelog日志

目前git commit 规范使用最多的是按照Angular团队使用的规范,提交信息都包括三个部分:Header,Body 和 Footer,如下:

<type>(<scope>): <subject>
// 空一行
<body>
// 空一行
<footer>

其中,Header 是必需的,Body 和 Footer 可以省略。

项目中使用:

1、安装commitizen依赖

npm install --save-dev commitizen

使用commitizen的命令是git-cz,如果我们全局安装commitizen,就可以直接在项目中使用git-cz命令,否则需要使用npx git-cz来执行,为了以后使用方便,我们可以在package.jsonscripts中进行如下配置:

// package.json
{
	"scripts": {
		...
		"commit": "git-cz",
		...
	}
}

这样我们就可以通过在命令行工具中使用npm run commit来使用commitizen

2、commitizen需要配合着适配器使用,安装cz-conventional-changelog依赖,可以让我们自己项目的git提交信息符合Angular团队的规范

npm install --save-dev cz-conventional-changelog

package.json文件中配置cz-conventional-changelog的使用:

// package.json
{
	...
	"config": {
		"commitizen": {
			"path": "node_modules/cz-conventional-changelog"
		},
	}
	...
}

此时,在提交代码时,我们就可以通过npm run commit命令按照Angular团队的规范来提交信息。但是由于没有进行强制校验,如果还是按照以往使用git commit -m <提交信息>提交任何风格的信息也是可以的,为了保证提交信息规范性,使用huskycommitlint对提交信息进行强制校验,其中commitlint用于校验提交信息是否符合规范,使用huskycommit-msg钩子可以让我们在每次提交信息前触发commitlint校验。

3、信息校验时除了安装@commitlint/clihusky外,还要按照需要遵循的规则,我们继续使用Angular团队信息提交规范,安装@commitlint/config-conventional

npm install --save-dev @commitlint/config-conventional @commitlint/cli
npm install --save-dev husky

然后在package.json中配置commitlinthusky如下:

// package.json
{
	...
	"commitlint": {
		"extends": [
			"@commitlint/config-conventional"
		]
	},
	"husky": {
		"hooks": {
			"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
		}
	}
	...
}

husky可以在我们执行git commit调用commitlint对提交信息进行格式校验,校验失败则提交失败,只有校验成功才能提交

至此,git commit规范化已完成,我们可以使用npm run commit采用问答交互式的方法创建git commit,也可以自行按照规范进行git commit提交。

可能遇到的问题:

1、安装之后,git commithusky校验提交信息不生效
解决办法:git版本太低,升级git版本可解决,husky要求的git版本最低2.13.2
在这里插入图片描述
2、在执行npm run commit在git中出现交互式界面时,上下选择不生效(针对windows用户)
解决办法:在C盘》用户》自己名字 目录下找到.bashrc文件,在文件中添加alias npm='winpty npm.cmd',保存即可

参考文献:

[1] 优雅的提交你的 Git Commit Message
[2] Commit message 和 Change log 编写指南

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值