如何删除Git仓库中冗余的tag?

比如如下tag:

b_3.0.18_201806201808
b_3.0.18_201806201819
b_3.0.18_201806212108

1、一个一个删

  • 本地删除tag :
git  tag -d b_3.0.18_201806201808
git  tag -d b_3.0.18_201806201819
git  tag -d b_3.0.18_201806212108
  • 删除远程tag:
git push origin :refs/tags/b_3.0.18_201806201808
git push origin :refs/tags/b_3.0.18_201806201819
git push origin :refs/tags/b_3.0.18_201806212108
  • 查看本地tag: git tag -l
  • 查看远程tag: git show-ref --tag

很麻烦!!!

2、批量删

用到awk 正则表达式

参考:

http://javascript.ruanyifeng….

https://www.cnblogs.com/OldJa…

本例正则可以是:/^b_4.0.0_201806[0-9]{6}$/

  • 批量删本地:
git tag -l| awk '/^b_4.0.0_201806[0-9]{6}$/ {print  $1}' | xargs git tag -d
  • 批量删远程:
git show-ref --tag | awk '/^b_4.0.0_201806[0-9]{6}$/ {print ":" $2}' | xargs git push origin
  • 查看本地: git tag -l
  • 查看远程: git show-ref --tag
    原文作者:qiuguixin
    原文地址: https://segmentfault.com/a/1190000015380270
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞