创建一个检查提交消息的git预提交钩子可以通过以下步骤完成:
#!/bin/sh
commit_msg_file=$1
commit_msg=$(cat $commit_msg_file)
# 检查提交消息的格式是否符合要求
if ! echo "$commit_msg" | grep -qE "^[A-Z]{2,}-[0-9]{1,}: .+"; then
echo "提交消息格式不正确,请按照\"JIRA编号: 提交描述\"的格式编写提交消息。"
exit 1
fi
# 检查提交消息是否包含敏感词汇
if echo "$commit_msg" | grep -qiE "敏感词1|敏感词2|敏感词3"; then
echo "提交消息包含敏感词汇,请修改后再次提交。"
exit 1
fi
exit 0
上述脚本中,首先获取提交消息的文件路径和内容。然后,使用正则表达式检查提交消息的格式是否符合要求,要求格式为"JIRA编号: 提交描述"。如果格式不正确,则输出错误信息并终止提交。接下来,使用正则表达式检查提交消息是否包含敏感词汇,如果包含,则输出错误信息并终止提交。最后,如果一切正常,则退出脚本。
chmod +x .git/hooks/pre-commit
现在,每次执行git commit命令时,都会触发pre-commit钩子脚本,检查提交消息的格式和内容。如果检查失败,则会阻止提交。
注意:以上脚本只是一个简单的示例,你可以根据实际需求进行修改和扩展。
领取专属 10元无门槛券
手把手带您无忧上云