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

2022-06-05  本文已影响0人  nick5683

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
上一篇下一篇

猜你喜欢

热点阅读