zoukankan      html  css  js  c++  java
  • git shell自动打tag

    function push_tag()
    {
        #拿出当前匹配的test_ca_v2.1最近版本号
        latelyTag=$(git describe --match "test_ca_v2.1*" --abbrev=0 --tags $(git rev-list --tags --max-count=1))
    
        #版本前缀
        tagPre="test_ca_v"
    
        #截取字符串,tag 是变量名,# 号是运算符,*test_ca_v 表示从左边开始删除第一个 test_ca_v 号及左边的所有字符
        version=${latelyTag#*$tagPre}
        echo "最近版本:"$latelyTag
        #echo $version
    
        #按.分割字符串,变成3段
        array=(${version//./ })
        arrayLen=${#array[*]}
        if [[ $arrayLen != 3 ]];then
          echo "版本号长度不对,必须为 v1.x.x的格式"
          read -p "按任意键关闭" -n 1
          exit
        fi
    
        #版本号处理
        newVersion=""
        for (( i = 0; i < $arrayLen; i++ )); do
            v=${array[i]}
            if [[ $i == 2 ]];then
              #第三位小版本+1
              v=`expr $v + 1`
            fi
            newVersion+=$v"."
        done
        newVersion=${newVersion%?}
    
        #拼接
        newTag=${tagPre}${newVersion}
        echo "新的版本:"$newTag
    
        if git tag -l | grep -q $newTag;then
          echo $newTag"已存在"
          read -p "按任意键关闭" -n 1
          exit
        fi
    
        #打标签
        #git tag -a $newTag -m ""
        #推送单个标签到远端
        #git push origin $newTag
    }
    
    push_tag
    read -p "按任意键关闭" -n 1
  • 相关阅读:
    PHP 数据库连接
    php函数
    php数组基础
    Jquery元素追加和删除
    jquery获取父,同,子级元素
    深入理解css中position属性及z-index属性
    php运算符
    MySQL主键与索引的区别和联系
    php 常量
    20150408--Sphinx+邮件激活-02
  • 原文地址:https://www.cnblogs.com/-mrl/p/14764583.html
Copyright © 2011-2022 走看看