码迷,mamicode.com
首页 > 系统相关 > 详细

git shell自动打tag

时间:2021-05-24 07:54:48      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:git   lis   shel   匹配   运算   第一个   rgb   new   list   

 

 

#拿出当前匹配的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的格式"
  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"已存在"
    exit
fi

#打标签
#git tag -a $newVersion -m "" 
#推送到远端
#git push origin $newVersion --tags
read -p "按任意键关闭" -n 1

 

git shell自动打tag

标签:git   lis   shel   匹配   运算   第一个   rgb   new   list   

原文地址:https://www.cnblogs.com/-mrl/p/14764583.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!