美文网首页
自动打git tag

自动打git tag

作者: 98k_sw | 来源:发表于2020-09-29 18:04 被阅读0次

原文:http://alblue.cn/articles/2020/09/29/1601373714646.html

Makefile

#默认小版本
t = 3
m = ""
branch=`git branch | grep \* | cut -d ' ' -f2`


tag:
    #自动打版本并提交,tag类型支持1、2、3,代表大版本,中版本,小版本:
    #Usage: make tag m="更新XX" t=3
    @sh ./auto_tag.sh $(t) $(m) $(branch)

shell

#!/bin/bash

#获取git版本
tag=$(git describe --tags `git rev-list --tags --max-count=1`)
echo "更新前版本" $tag
echo "更新备注" $2
#去掉头部的v
noVTag=${tag:1}
#按.分割字符串,变成3段
array=(${noVTag//./ })
arrayLen=${#array[*]}
if [[ $arrayLen != 3 ]];then
  echo "版本号长度不对,必须为 v1.x.x的格式"
  exit
elif [[ $1 -le 1 ]]||[[ $1 -gt 3 ]]; then
  echo "参数必须在1-3之间"
  exit
elif [[ $2 == "" ]]; then
   echo "tag备注必填"
  exit
fi

newVersion="v"
for (( i = 0; i < $arrayLen; i++ )); do
    v=${array[i]}
    if [[ $v == 1 ]];then
      #非大版本都是10-正无穷
      if [[ $i != 0 ]]; then
        v=(expr $v \* 10)
      fi
    fi

    if [[ $1 == 1 ]]&&[[ $i == 0 ]];then
      v=$(echo $v+1 | bc)
      echo "大版本更新后:" $v
    elif [[ $1 == 2 ]]&&[[ $i == 1 ]];then
      v=$(echo $v+1 | bc)
      echo "中版本更新后:" $v
    elif [[ $1 == 3 ]]&&[[ $i == 2 ]];then
      v=$(echo $v+1 | bc)
      echo "小版本更新后:" $v
    fi
    newVersion+=$v"."
done
newVersion=${newVersion%?}
echo "新版本:"$newVersion

git tag -a $newVersion -m $3_$2
git push origin $newVersion

相关文章

  • 自动打git tag

    原文:http://alblue.cn/articles/2020/09/29/1601373714646.htm...

  • Git 常用命令

    打Tag 打tag - git tag -v 推送 git push origin --tags

  • git 创建tag , 查看tag , 删除tag

    git tag//查看tag git tag test_tag //在git打tag git push origi...

  • git 打 tag,远程推送 tag

    查看已有tag git tag 本地打tag git tag 远程推送 tag git push o...

  • tag

    1、查看分支tag git tag 或者 git tag -l 2、打标签 git tag name ...

  • 常用git命令记录

    tag |功能|代码||-|打本地tag| $git tag [tag]|本地tag推送到远程| $git pu...

  • git-tag

    git tag 在当前层打标签git tag 查询所有标签git tag

  • git 使用

    1.打标签 查看标签 git tag 打标签 git tag -a amc_1.0.0 -m '这是一个tag' ...

  • tag

    git tag 在某个commit 上打tag 删除tag 切换tag

  • git使用归纳(待发布)

    Git Branch Git with remote repo Tag 为什么需要打Tag,每次commit的时候...

网友评论

      本文标题:自动打git tag

      本文链接:https://www.haomeiwen.com/subject/vhneuktx.html