批量删除远程tag和将远程仓库tag同步本地
远程仓库存在大量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