git提交信息校验格式

老大前两天要求git提交时填写的信息必须是以某个格式提交,比如改bug需要以[fixbug]开头。但是有时候一懒就忘了加这些前缀了。所以想到git钩子,可以在提交之前写一个校验脚本。

git项目下的 .git\hooks\commit-msg文件内容更改为:

 test "" != "$(grep '^\[.*\]' "$1")" || {
        echo >&2 "需要以[xx]开头,改bug[]里填禅道上的bug编号,否则填开发版本编号"
	exit 1
}

解释一下语句涉及的命令
test语法: test a!=b
$() : 表示里面执行括号里的语句并返回值
grep语法: grep ‘正则表达式’ 处理的目标文件或变量
$1: $后跟数字,表示传给此脚本的参数,1代表第1位
echo语法: >表示输出到哪里 &2表示输出到错误显示通道,默认是&1正确通道,正确通道不会显示出来
|| :命令或执行,如果前一个为true则不执行后一个命令
exit返回0则成功,1则失败

运行效果:

git提交信息校验格式_第1张图片

你可能感兴趣的:(版本管理,git,git提交校验,git钩子)