在团队开发中,保持一致的代码提交规范对于提高协作效率和代码管理质量至关重要。Husky是一个流行的Git钩子工具,它可以帮助我们在代码提交时运行脚本,以确保提交符合特定的规范和约定。本文将详细介绍如何使用Husky配置Git代码提交规范。
一、安装Husky
首先,确保你的项目已经初始化为Git仓库。然后,使用npm或yarn安装Husky:
npm install husky --save-dev # 或者
yarn add husky --dev
安装完成后,项目的package.json
文件会更新,显示husky作为开发依赖。
二、配置Husky
1、启用Git钩子
在项目的package.json
文件中添加prepare
脚本,以自动启用Husky:
{
"scripts": {
"prepare": "husky install"
}
}
运行npm install或yarn install后,Husky会自动设置Git钩子。
2、初始化Husky
执行以下命令进行Husky初始化,自动生成.husky
文件夹:
npx husky install
或者,如果你已经在package.json
中配置了prepare
脚本,可以手动运行:
npm run prepare
3、添加Git钩子
- pre-commit钩子:用于在每次提交前运行脚本,如代码格式检查、静态分析等。
npx husky add .husky/pre-commit "npm run lint"
这里的npm run lint是一个示例,你可以根据需要替换为其他脚本命令。
- commit-msg钩子:用于在提交信息被保存之后运行,通常用于校验提交信息的格式。
npx husky add .husky/commit-msg 'npx --no-install commitlint --edit "$1"'
确保钩子脚本具有执行权限:
chmod +x .husky/commit-msg
三、配置Commitlint
Commitlint是一个用于检查提交信息是否符合预定规范的工具。我们需要安装Commitlint及其配置文件,并配置校验规则。
1、安装Commitlint
npm install @commitlint/config-conventional @commitlint/cli --save-dev
2、配置Commitlint
在团队开发中,保持一致的代码提交规范对于提高协作效率和代码管理质量至关重要。Husky是一个流行的Git钩子工具,它可以帮助我们在代码提交时运行脚本,以确保提交符合特定的规范和约定。本文将详细介绍如何使用Husky配置Git代码提交规范。
一、安装Husky
首先,确保你的项目已经初始化为Git仓库。然后,使用npm或yarn安装Husky:
npm install husky --save-dev # 或者
yarn add husky --dev
安装完成后,项目的package.json
文件会更新,显示husky作为开发依赖。
二、配置Husky
1、启用Git钩子
在项目的package.json
文件中添加prepare
脚本,以自动启用Husky:
{
"scripts": {
"prepare": "husky install"
}
}
运行npm install或yarn install后,Husky会自动设置Git钩子。
2、初始化Husky
执行以下命令进行Husky初始化,自动生成.husky
文件夹:
npx husky install
或者,如果你已经在package.json
中配置了prepare
脚本,可以手动运行:
npm run prepare
3、添加Git钩子
- pre-commit钩子:用于在每次提交前运行脚本,如代码格式检查、静态分析等。
npx husky add .husky/pre-commit "npm run lint"
这里的npm run lint是一个示例,你可以根据需要替换为其他脚本命令。
- commit-msg钩子:用于在提交信息被保存之后运行,通常用于校验提交信息的格式。
npx husky add .husky/commit-msg 'npx --no-install commitlint --edit "$1"'
确保钩子脚本具有执行权限:
chmod +x .husky/commit-msg
三、配置Commitlint
Commitlint是一个用于检查提交信息是否符合预定规范的工具。我们需要安装Commitlint及其配置文件,并配置校验规则。
1、安装Commitlint
npm install @commitlint/config-conventional @commitlint/cli --save-dev
2、配置Commitlint
在项目根目录下新建commitlint.config.js
文件,并添加以下配置:
module.exports = {
extends: ['@commitlint/config-conventional'],
rules: {
'body-leading-blank': [2, 'always'],
'footer-leading-blank': [1, 'always'],
'header-max-length': [2, 'always', 108],
'subject-empty': [2, 'never'],
'type-empty': [2, 'never'],
'type-enum': [
2,
'always',
[
'feat', // 新功能
'fix', // 修复bug
'perf', // 性能优化
'style', // 代码风格相关无影响运行结果的
'docs', // 文档/注释
'test', // 测试相关
'refactor', // 重构
'build', // 对构建系统或者外部依赖项进行了修改
'ci', // 对CI配置文件或脚本进行了修改
'chore', // 依赖更新/脚手架配置修改等
'revert', // 撤销修改
'wip', // 开发中
'workflow', // 工作流改进
'types', // 类型修改
'release',
],
],
},
};
四、测试配置
现在,我们可以尝试提交代码来测试配置是否生效。
1、添加文件到暂存区:
git add .
2、尝试提交一个不符合规范的提交信息:
git commit -m "随便提交一个东西看看?"
此时,提交将被拦截,Commitlint会提示提交信息不符合规定的格式。
3、提交一个符合规范的提交信息:
git commit -m "fix: 修复了bug"
此时,提交将成功通过检查。
五、总结
通过Husky和Commitlint的组合,我们可以在团队开发中有效控制Git提交信息的规范性,避免出现随意、不清晰的提交备注,从而保持Git历史的可读性和一致性。本文详细介绍了如何安装和配置这两个工具,并通过具体步骤说明如何强制规范提交信息。希望这能帮助你的团队提高代码质量和协作效率。