2018年8月2日 | Leave a comment https://zhidao.baidu.com/question/2013569350589288388.html 首先就是找到远端要删除的tags列表,关键是用对指令。 git show-ref --tag 1 git show-ref --tag 这个指令可以列出所有的远端的tag列表,然后就是shell下的一般处理手段了。 git push origin :<tag> 1 git push origin :<tag> 如上指令,会致使远程的tag被删除。用管道一连接,万事大吉。 git show-ref –tag | awk ‘/(.*)(\s+)(.*)$/ {print “:” $2}’ | xargs git push origin 上面的指令就是拼接完整的指令了,不过这个指令,会删除远端所有的tag,慎用,如果希望删除符合条件的,应该修改awk指令的正则表达式。 删除完了远端的tag,本地的tag,删法还不是太一样,不过原理相同。 git tag | grep "v1.1.0.\d$" | xargs git tag -d 1 git tag | grep "v1.1.0.\d$" | xargs git tag -d 举个例子,上述命令删除本地所有 v1.1.0.x 的tag,这个指令,会最多删除10个tag。