git批量删除标签(tag)

*先删除远程标签再删除本地的标签;此命令只能在 git bash 中使用,vscode中无法使用

删除远端以 ‘2.’ 开头的 tag:

git ls-remote --tags origin | awk '/refs\/tags\/2\./ {print ":" $2}' | xargs -n 1 git push origin
# 上述命令使用`git ls-remote --tags origin”列出远程仓库中的所有标签,
# 然后使用`awk`过滤出以'refs/tags/1.”开头的标签,
# 并使用`xargs -n 1 git push origin' 删除它们。 
# xargs -n num 后面加次数,表示命令在执行的时候一次用的argument的个数,默认是用所有的。

删除本地以 ‘2.’ 开头的 tag:

git tag -l '2.*' | xargs git tag -d
# 上述命令使用'git tag -1'1.*列出所有以“1.”开头的标签,并使用`xargs git tag删除它们。

请注意,
执行这些命令前,请确保你已经切换到正确的 Git 仓库目录,并且具有适当的权限来删除标签。
删除远程标签可能需要对远程仓库具有写权限。此外,删除标签是不可逆的操作,请谨慎执行。

posted @ 2022-07-26 20:25  yangchin9  阅读(1022)  评论(0编辑  收藏  举报