git commit message hook

git commit message

#!/bin/sh
# 检查commit message 是否符合自定义的规范钩子

# 过滤掉#开头行, 不对改行进行校验
# shellcheck disable=SC2006
MSG=`awk '!/^#/{printf("%s", $0)}' "$1"`

if [[ $MSG =~ ^(feat|fix|docs|style|refactor|perf|test|build|ci|chore|revert)(\(.*\))?:.*$ ]]
then
    echo -e "\033[32m commit success! \033[0m"
else 
    echo -e "\033[31m Error: then commit message is irregular \033[m"
    echo -e "\033[31m Error: type must be one of [feat|fix|docs|style|refactor|perf|test|build|ci|chore|revert] \033[m"
    echo -e "\033[31m eg: feat(user): add the user login \033[m"
    echo -e "\033[31m     feat: add the user login \033[m"
    exit 1
fi

推荐他人文章链接

posted @ 2023-03-02 12:35  kayj  阅读(54)  评论(0编辑  收藏  举报