您的位置:首页 > 本地本地
如何批量删除远程的tag
admin2024-08-31人已围观
如何批量删除远程的tag
我用Google 搜了 how to delete git tags batch,发现老外的说法大概是,bulk delete,哈哈,英语不行啊。
无非就是shell下的一些做法,感觉实际使用上也够了。
首先就是找到远端要删除的tags列表,关键是用对指令。
git show-ref --tag
这个指令可以列出所有的远端的tag列表,然后就是shell下的一般处理手段了。
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
举个例子,上述命令删除本地所有 v1.1.0.x 的tag,这个指令,会最多删除10个tag。
怎么取得git 打好的tag所对应的代码
其实要取得不同的branch的tag,只需要在相应的分支上打tag就行了。这样的tag就唯一对应了不同的分支。例如,你在master上打了tag为v1,在某个branch上打了tag为v2,则你取出v2代码的时候,自然就是对应的branch分支了。
很赞哦! ()
上一篇:Docker 国内镜像'>谈谈自媒体、新媒体和融媒体
下一篇:返回列表'>返回列表