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

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
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容