husky git提交校验

husky git提交校验

husky git提交校验

在团队协作开发过程中,规范的git提交信息对于代码的管理非常重要。通过规范的commit message可以更容易地追溯代码的变更历史,帮助团队成员更好地理解代码的变更内容。而husky可以帮助我们在提交代码时进行校验,确保提交信息符合规范。本文将介绍husky的基本用法以及如何使用husky进行git提交信息的校验。

什么是husky?

Husky是一个可以让我们在git提交前执行脚本的工具,它可以用来增强git提交的流程,比如在提交前进行lint操作、校验commit message等。Husky本身依赖于Node.js环境,所以需要先安装Node.js和npm。可以通过以下命令安装husky:

npm install husky --save-dev

配置husky

安装好husky之后,我们需要对git hooks进行配置。在项目根目录下新建一个.husky文件夹,然后在.husky文件夹下新建一个pre-commit文件(也可以是其他git hooks,比如pre-push)。在pre-commit文件中,我们可以编写我们需要执行的脚本。比如,我们可以用下面的脚本来校验commit message的格式:

#!/bin/sh

commit_msg=(cat1)

# 校验commit message的格式
if [ ! -n "(echocommit_msg | grep -E '^(feat|fix|docs|style|refactor|test|chore)(\(.+\))?: .{1,50}$')" ]; then
  echo "提交信息格式不符合规范!请按照以下格式提交:"
  echo "type(scope): message"
  exit 1
fi

上面的脚本会在提交代码时校验commit message的格式,格式要求为type(scope): message,其中type为commit类型(feat、fix、docs、style、refactor、test、chore);scope为本次变更的范围(可选);message为具体的变更内容,长度不超过50个字符。

配置Git hooks

配置好了husky之后,我们需要配置Git hooks,在项目根目录下的package.json文件中添加如下内容:

{
  "husky": {
    "hooks": {
      "pre-commit": "sh .husky/pre-commit"
    }
  }
}

这样,当我们在提交代码时,husky就会自动执行.husky文件夹下的pre-commit文件中的脚本,校验提交信息的格式。如果提交信息不符合规范,git提交就会被阻止。

测试

为了测试我们的husky配置是否生效,我们新建一个测试文件test.js,并提交一个不符合规范的commit message:

git add test.js
git commit -m "add a new file"

此时git提交会被阻止,并提示提交信息格式不符合规范。然后我们修改commit message为符合规范的格式:

git commit --amend

再次提交就会成功了。

结语

通过husky的配置,我们可以很方便地对git提交信息进行校验,确保提交信息符合规范。这样不仅有利于团队成员更好地理解代码变更内容,还能提高代码管理的规范性。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程