git hook 不关联issue拒绝提交

hook.png
上一篇我们讨论了自动把当前分支的issue关联到commit message中,但是如果当前分支没有issue号的话,那么我们正则表达式是拿不到值的,所以也就会出现问题,今天我们讨论下,如果commit message 中没有issue号,那么就拒绝本次提交,也就是这次commit 会失败。
  • 在项目的 .git/hooks目录下创建一个commit-msg文件
image.png
  • copy下面的脚本到上面创建的commit-msg文件里
#!/bin/sh
INPUT_FILE=$1
INPUT=`head  $INPUT_FILE`
s=`echo ${INPUT}  | grep -Eo "#\d+"` #这个是核心正则表达式 #\d+ 匹配#开头后面根任意多个数字 
if [ "$s" = "" ];then
    echo "请在commit中填写issue号,例:fix bug #123"
    exit 1
else
    echo "pass"
fi
  • 同样,因为commit 的时候会执行上面那个脚本所以要给这个脚本添加可执行权限
chmod u+x commit-msg
  • 命令行验证提交失败

    image.png

    由于commit message 没有带有类似#123这种管理issue的操作,所以这次提交被拒绝了

  • 命令行验证提交成功

    image.png

    由于这次的commit message 符合规范"add test #111",所以提交成功。

  • IDE 验证提交失败

image.png
image.png
  • IDE验证提交成功


    image.png
image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 操作系统 window10学习来源: http://www.liaoxuefeng.com/wiki 常用 创建...
    hopevow阅读 4,214评论 0 17
  • 1.什么是 Git Hooks 如同其他许多的版本控制系统一样,Git 也具有在特定事件发生之前或之后执行特定脚本...
    就叫yang阅读 8,676评论 3 11
  • 在我们用git进行版本控制的时候 很多时候都是围绕着issue开发,每次git的提交都关联上issue对于我们后期...
    freelands阅读 9,891评论 0 1
  • 我要做 我不要做 我想做 两个自我的博弈 冥想是为了(锻炼意志力)锻炼专注力 选择一些难的事情去做吧 要克服的不好...
    heardlover阅读 2,607评论 0 0
  • 停 每一个地上的人的灵魂 都对应一个天上的星星 停下来 多抬头看看星星 停下来 多收心等等灵魂 虽然你是你自己 但...
    姬二水阅读 3,269评论 2 4

友情链接更多精彩内容