Git 提交规范(二、使用husky控制git hook)

Git 提交规范(二、使用husky控制git hook)

接上第一节使用commitizen设置快捷commit规范,这一次我们对git的hook进行控制,让团队中成员无法随意提交commit,保证仓库中的备注规范性和一致性

本次用到插件

  • commitlint:用于检查提交信息
  • husky:拦截git hooks工具

Git提交规范(一、使用commitizen)

1.安装所需插件

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

请添加图片描述

2.创建commitlint.config.js文件

在项目的根目录下,创建commitlint.config.js文件

Git 提交规范(二、使用husky控制git hook)_第1张图片

将下列代码加入刚才创建的文件中

module.exports = {
    // 继承的规则
    extends: ['@commitlint/config-conventional'],
    // 定义规则类型
    rules: {
        // type 类型定义,表示 git 提交的 type 必须在以下类型范围内
        'type-enum': [
            2,
            'always', [
                'feat', // 新功能 feature
                'fix', // 修复 bug
                'docs', // 项目文档或注释变更
                'style', // 仅仅修改了空格、格式缩进、逗号等等,不改变代码逻辑
                'refactor', // 代码重构,没有加新功能或者修复bug
                'perf', // 优化相关,比如提升性能、体验
                'test', // 增加测试
                'chore', // 改变构建流程、或者增加依赖库、工具等
                'revert', // 回滚到上一个版本
                'build', // 部署版本
            ],
        ],
        // subject 大小写不做校验
        'subject-case': [0],
    },
}

这里的git提交规范最好与上一节你所定义的commit规范一致

husky

1.安装依赖

npm install husky --save-dev

请添加图片描述

2.启动hooks

npx husky install

启动后,将会自动生成.husky文件夹

Git 提交规范(二、使用husky控制git hook)_第2张图片

3.添加prepare指令

通过npm设置preapre指令

npm set-scrip prepare "husky install"

Git 提交规范(二、使用husky控制git hook)_第3张图片

运行指令

npm run prepare

Git 提交规范(二、使用husky控制git hook)_第4张图片

4.添加commitlint的hook到husky

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

运行指令后,文件内容将根据设置自动生成

Git 提交规范(二、使用husky控制git hook)_第5张图片

5.测试

现在进行测试,首先同样的git add .

尝试一个不和规范的提交

git commit -m "随便提交一个东西看看?"

Git 提交规范(二、使用husky控制git hook)_第6张图片

一个不符合提交规范的被拦下来无法commit

到这里,我们就已经可以 强制规范提交,而且不符合规范的提交,将不可被commit

你可能感兴趣的:(Gitee使用,git,github,团队开发,git规范)