tag批量删除

433 阅读1分钟

背景:在项目开发过程中,在测试环境,每次修改都会推送一个tag,因此导致tag集合中有最终生产tag和测试tag,实际上测试tag使用过以后,不再有作用了,因此需要近期清除,为了减少手工去gitlab一个个删除,使用命令行过滤批量删除;

先删除远程,再删除本地;如果相反,那么在删除远程时,没有参考名称;

远程

查看本地

查看本地tag,名字包含v2

git show-ref --tag | awk '/v2/ {print ":"$2}'

删除本地

删除远程包含 v2 的tag;

git show-ref --tag | awk '/v2/ {print ":"$2}' | xargs git push origin

本地

查看本地

查看本地tag,名字包含v1

$git tag | grep v1

删除本地tag

git tag | grep v1 | xargs git tag -d

参考:blog.sqstudio.com/?p=1387