美文网首页
git 批量删除 tag 正则表达式筛选删除

git 批量删除 tag 正则表达式筛选删除

作者: nick5683 | 来源:发表于2022-06-05 18:16 被阅读0次

    1. 一个一个删

    本地删除tag : git tag -d v1.1.0

    删除远程tag: git push origin :refs/tags/v1.1.0

    查看本地tag: git tag -l

    查看远程tag: git show-ref --tag

    很麻烦

    2. 批量删

    // 获取 以dev_开头的所有tag

    git tag -l|awk '/dev_*/{print $0}'
    
    git tag -l|awk '/dev_*/{print $0}' |xargs git show|awk '/commit .*{40}/{print substr($0,8,40)}'
    

    // 删除本地标签

    git tag -l|awk '/dev_*/' |xargs git tag -d
    

    // 删除远程标签

    git show-ref --tag | awk '/dev_*/{print ":" $2}' | xargs git push origin
    

    要推送单个标签:

        git push origin <tag_name>
    

    并且以下命令应该推送所有标签(不推荐):

        git push --tags
    

    查看本地: git tag -l

    查看远程: git show-ref --tag

    3.命令

    命令 git push origin <tagname> 可以推送一个本地标签;

    命令 git push origin --tags 可以推送全部未推送过的本地标签;

    命令 git tag -d <tagname> 可以删除一个本地标签;

    命令 git push origin :refs/tags/<tagname> 可以删除一个远程标签。

    1. 正则删除
      示例Tag: v2.0.5.20200518
    git tag -l | awk '/v2.[0-9].[0-9].2022[0-9][0-9][0-9][0-9]/{print}' | xargs git push origin --delete tag
    

    相关文章

      网友评论

          本文标题:git 批量删除 tag 正则表达式筛选删除

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