git学习GitLab中如何批量删除本地以及远程的TAG标签
Posted 欧阳鹏
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git学习GitLab中如何批量删除本地以及远程的TAG标签相关的知识,希望对你有一定的参考价值。
一、需求描述
之前从一个古老的仓库,fork了一份代码,如何开发新的需求。发现有很多Tag和Branch都是之前仓库的,我并不需要,因此需要把他们清理掉。
之前Branch的我们写好了脚本删除了,这里就不介绍了。
现在介绍下怎么删除TAG标签。
二、删除标签
2.1 删除tag
git tag -d tagName
2.2 删除远程
git push origin :refs/tags/tagName
如果tag过多,逐条删除很麻烦,即使是在gitlab的管理界面,也是得逐条删除。
在 博客GITLAB中批量删除本地以及远程TAG的操作 博客中有介绍下面的命令:
2.3 删除所有远程标签
git show-ref --tag | awk 'print ":" $2' | xargs git push origin
2.4 删除所有本地标签
git tag -l | xargs git tag -d
注意:
- 删除tag本地与远程是分开操作的,如果只删除远程tag,本地没有删除,进行pull操作之后,本地的tag还是存在的,不会被清理;
- 只批量删除本地tag,在直接进行pull操作之后,远程的tag又会被拉到本地
- 所以如果想把本地以及远程的tag全部删除,两个命令分开执行即可
2.5 查看本地tag
git tag -l
2.6 查看远程tag
git show-ref --tag
三、实践一下
3.1 删除所有远程标签
在项目内,打开Terminal终端,然后输入下面的命令
git show-ref --tag | awk 'print ":" $2' | xargs git push origin
如下所示:
这样就是有的TAG都删除完毕,并且push到了远程,远程的TAG也就同步删除了。
3.2 删除所有本地标签
在项目内,打开Terminal终端,然后输入下面的命令
git tag -l | xargs git tag -d
3.3 刷新gitlab
现在你去刷新gitlab,就会发现tag标签是干干净净的了。
以上是关于git学习GitLab中如何批量删除本地以及远程的TAG标签的主要内容,如果未能解决你的问题,请参考以下文章
Git系列四之在本地服务器搭建gitlab仓库管理(centeros环境下)