git提交日志规范脚本.zip

  • O1_839846
    了解作者
  • 2.9KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-05-01 06:33
    上传日期
项目由于git进行管控,对commit的日志需要进行规范化输出,git的hooks默认管控单仓库,在.git/hooks里面,默认关闭,如果启用的话将后缀.sample去掉。系统提供的commit检验是git文本的最后是否有空格,根据规定,需要进行规则自定义,实现项目提交记录
git提交日志规范脚本.zip
  • gitlab-check-message
  • client
  • commit-msg
    2KB
  • commit-regulars
    25B
  • server
  • pre-receive.sh
    2.9KB
内容介绍
#!/usr/bin/env bash # @File : check-commit-message.sh # @Time : 2020/7/7 17:12 # @Author : Zhanghui.H # [1] https://help.github.com/en/enterprise/user/articles/working-with-pre-receive-hooks # set -e zero_commit='0000000000000000000000000000000000000000' # 匹配第一位【或[,第二位bBtT随意一个,第三部分,0-9字符,第四位】] msg_regex='[\[【][btBt][0-9]+[]】]' COMMIT_MESSAGE_MIN_LENGTH=12 while read -r oldrev newrev refname; do # Branch or tag got deleted, ignore the push [ "$newrev" = "$zero_commit" ] && continue # Calculate range for new branch/updated branch [ "$oldrev" = "$zero_commit" ] && range="$newrev" || range="$oldrev..$newrev" for commit in $(git rev-list "$range" --not --all); do ## merge合并分之直接放行 msg=`git log --max-count=1 --format=%B $commit` if [[ "$msg" =~ "Merge branch" ]]; then echo "Merge branch...skip the checking" else if ! git log --max-count=1 --format=%B $commit | grep -nE "$msg_regex"; then echo "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@" >&2 echo -e "@@\033[1;41;33m 您本次版本提交不符合日志提交规范!!! \033[0m@@" >&2 echo -e "@@\033[1;41;33m 提交规则: \033[0m@@" >&2 echo -e "@@\033[1;41;33m [任务号/bug号];提交描述: \033[0m@@" >&2 echo -e "@@\033[1;41;33m [任务号/bug号]必填,如果不存在填写[t0] \033[0m@@" >&2 echo -e "@@\033[1;41;33m e.g:(任务号前加t,BUG号前加b) \033[0m@@" >&2 echo -e "@@\033[1;41;33m [b1372]解决:... \033[0m@@" >&2 echo -e "@@\033[1;41;33m [t1373]增加:... \033[0m@@" >&2 echo "@@@@@@@@@@@@@@@@***禁止空格数据***@@@@@@@@@@@@@@@@@@" >&2 exit 1 else ## 校验注释长度 msg_length=${#msg} echo "Msg length: ${msg_length}" if [[ ${msg_length} -lt ${COMMIT_MESSAGE_MIN_LENGTH} ]]; then echo "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@" >&2 echo -e "@@\033[1;41;33m Error: Message长度不得少于${COMMIT_MESSAGE_MIN_LENGTH}字符,当前提交message长度: ${msg_length}字符 \033[0m@@" >&2 echo "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@" >&2 exit 1 fi fi fi done done
评论
    相关推荐
    • Git
      Git命令 版本库又名仓库( repository )Git Bash 列出隐藏文件 ls -ah 显示文件内容 cat <yourfile> 仓库初始化 cd <your> git init 把文件添加到仓库 git add <yourfile> 把文件提交到仓库 git commit -m ...
    • GitExtensions
      GitExtensions,git,中文
    • 学习Git
      学习Git Ravi常用命令 git log --oneline -n5 Gerrit Confluence页面 > git diff # Compare "working tree" against the last (HEAD) commit on this branch. > git diff --cached # Compare "staged files"/"index...
    • Git
      #LearningGit我的实践Git的本地和远程命令
    • git
      git
    • git软件 
      Git软件 Git-2.18.0-64-bit软件.exe
    • git码云
      Git-2.7.2-32-bit_setup.1457942412.exe
    • git
      吉特
    • git
      git
    • Git
      吉特