前端工程化-husky+commitizen+ 自定义cz-customizable适配器 git 提交代码规范化

该博客详细介绍了如何通过husky、commitizen和cz-customizable来规范前端项目的git提交信息。首先,通过husky安装并设置git hooks,接着添加commitlint进行提交信息的校验,然后在项目级别安装commitizen并配置cz-conventional-changelog,最后讲解如何自定义提交规范,以确保代码提交符合预设的规则。

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

1、使用husky添加git hooks(基于husky新版6.0.0进行git hooks)

1、npm install husky --save-dev
2、在package.json中添加prepare脚本

“prepare”: “husky install” 在这里插入图片描述
3、执行npm run prepare,本地会创建.husky目录

4、添加git hooks —(如果不需要git提交进行其他操作,直接跳过)
创建一条 pre-commit hook


npx husky add .husky/pre-commit "npm run test"

会在.husky下找到这个文件,此处可以执行命令
在这里插入图片描述
6,添加commit-msg钩子,规范commit message信息

npx husky add .husky/commit-msg 'npx --no-install commitlint --edit "$1"' 

创建了hook之后,在每次执行 git commit 时,都会先触发hook,来执行指定命令

2、添加commitlint校验

1,添加对应约束,防止随意提交

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

2,在项目根目录下建立配置文件 .commitlint.config.js

module.exports = {
   
   
    extents:[
        "@commitlint/config-conventional"
    ],
    rules:{
   
   
        'body-leading-blank': [1, 'always'],
        'footer-leading-blank': [1, 'always'],
        'header-max-length': [2, 'always', 72],
        'scope-case': [2, 'always', 'lower-case
### 集成 HuskyCommitizen 的方法 为了在项目中集成 HuskyCommitizen,可以按照以下方式操作: #### 安装必要的包 首先,在项目的根目录下安装 `husky` 和 `commitizen` 以及相关插件。这可以通过执行如下命令完成[^1]: ```bash npm install husky @commitlint/config-conventional commitizen cz-conventional-changelog --save-dev ``` #### 初始化 Commitizen 初始化 Commitizen 来支持自定义提交消息格式。运行下面的命令来创建 `.cz-config.js` 文件并选择合适的适配器: ```bash npx commitizen init cz-conventional-changelog --save-dev --save-exact ``` #### 设置 Git Hooks 使用 Husky 利用 Husky 创建预提交钩子(pre-commit hook),用于强制开发者遵循特定的消息规范。编辑 `package.json` 或者直接通过 CLI 添加 hooks: 对于较新版本的 Husky (v7+) ,可以在 package.json 中添加 scripts 字段下的 prepare 脚本启动 postinstall Hook: ```json { "scripts": { "prepare": "husky install" } } ``` 接着增加具体的 git hooks, 如 pre-commit : ```bash npx husky add .husky/commit-msg 'npx --no-install commitlint --edit "$1"' ``` 以上步骤确保每次提交前都会触发 commit message linting。 #### 自动化工具配置文件 还需要建立一些额外的支持文件以便更好地工作流运作。例如,`.commitlintrc.json` 文件用来指定验证规则;而 `.czrc` 则存储了关于交互界面的选择偏好等信息。 ```json // .commitlintrc.json { "extends": ["@commitlint/config-conventional"] } ``` 这样就完成了 HuskyCommitizen 在项目中的基本集成过程。现在每当有新的更改被推送至仓库时,都将受到严格的提交指南约束,从而提高了代码库的质量控制水平。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值