批量删除远程tag和将远程仓库tag同步本地

发布时间 2024-01-09 18:37:48作者: Karle

远程仓库存在大量tag需要清理,在gitlab无法批量删除,需要在原生命令窗口通过命令进行操作

使用正则表达式匹配相关tag

使用tag名遵循test.20241207123424(测试标签,2024年12月07日12点34分24秒)

首先使用正则表达式打印出符合条件的标签git tag -l | awk '/test\.2023[0-9]{10}$/ {print ":" $NF}',打印`test.2023`开头的标签,确保正则表达无错误

然后删除匹配的内容git ls-remote --tags origin | awk -F/ '/test\.2023[0-9]{10}$/ {print ":" $NF}' | xargs -I {} git push origin {}

远程仓库某些标签已被删除,但是本地仓库还未同步

首先清空本地仓库taggit tag -l | xargs git tag -d

拉取远程仓库tag进行同步git fetch origin --prune