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
推荐他人文章链接