commit-msg 过滤 git 提交信息

本文介绍了一个用于持续集成(CI)环境中commit消息规范化的shell脚本示例。该脚本通过正则表达式验证commit消息是否符合预设的格式要求,并在不符合时阻止提交。适用于配合gerrit server等代码审查工具使用。

前言

以前虽然干过持续集成的工作,但好多都是只干了一半。

好多捣鼓都没有留下文字记录,趁最近比较空闲,留点东西,以后也好找。


方法

文件:.git/hooks/commit-msg

添加如下内容:

result=$(grep -E '^\[(dev|release)\]\[[0-9]+\]\[(none|test)\][0-9a-zA-Z]{3,30}' $1)
text_std=$(cat $1)
if [ "$result" = "$text_std" ];then
	echo $result
else
	echo '请按规范填写commit-msg'
	exit 1
fi

正则表达式手册

按照自己的需求修改正则表达式,这里的出错提示我偷懒了(建议做个格式说明的网页)


备注

真实场景是配合gerrit server使用的,至于要放到server的什么地方,还未测试。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值