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 本地分支远程分支tag

Git系列四之在本地服务器搭建gitlab仓库管理(centeros环境下)

git学习.gitignore文件忽略和删除本地以及远程文件

git与gitlab学习

git批量删除本地分支及远程分支

如何删除GitHub或者GitLab 上的文件夹