如何刪除Git倉庫中冗餘的tag?

qiuguixin發表於2018-06-25

比如如下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

相關文章