目录

  • 一、简介
  • 二、本地tag操作
  • 1、创建tag标签
  • (1)创建轻量标签
  • (2)创建附注标签
  • 2、查看tag标签
  • (1)查看标签列表
  • (2)查看标签提交信息
  • (3)在提交历史中查看标签
  • 3、删除tag标签
  • 三、远程仓库tag操作
  • 1、推送tag标签到远程仓库
  • 2、删除远程仓库tag标签
  • 四、检出标签




一、简介

tag 可以称它为 标签

简单的理解,tag 就是对某次 commit 的一个标识,相当于起了一个别名。

例如,在项目发布某个版本的时候,针对最后一次 commit 起一个 v2.0 这样的标签来标识里程碑的意义。

tag 有两种类型的标签 :

  • 轻量标签(lightweight):只是某个 commit 的引用,可以理解为是一个 commit 的别名;
  • 附注标签(annotated):是存储在git仓库中的一个完整对象,包含打标签者的名字、电子邮件地址、日期时间以及其他的标签信息。它是可以被校验的,可以使用 GNU Privacy Guard (GPG) 签名并验证。


二、本地tag操作

1、创建tag标签

(1)创建轻量标签

# 直接给当前的提交版本创建一个【轻量标签】
$ git tag [标签名]

# 给指定的提交版本创建一个 【轻量标签】
$ git tag [标签名] [提交版本]

例如:

$ git tag v2.0

$ git tag v2.0 4489bac3



(2)创建附注标签

# 直接给当前的提交版本创建一个 【附注标签】
$ git tag -a [标签名称] -m [附注信息]

# 给指定的提交版本创建一个【附注标签】
$ git tag -a [标签名称] [提交版本号] -m [附注信息]
  • -a:理解为 annotated 的首字符,表示附注标签;
  • -m:指定附注信息;

例如:

$ git tag -a v2.0 -m "v2.0版本正式发布"

$ git tag -a v2.0-release 4489bac3 -m "v2.0版本正式发布"



2、查看tag标签

(1)查看标签列表

# 查看所有标签列表
$ git tag

# 查看模糊匹配的标签列表
$ git tag -l [*标签名称筛选字符串*]  
$ git tag --list [*标签名称筛选字符串*]

例如:

$ git tag -l "*v2.0*"

$ git tag --list "*v2.0*"



(2)查看标签提交信息

# 查看标签的信息,(轻量标签 和 附注标签 的信息是不一样的)
$ git show [标签名]

查看轻量标签

gitlab不能打tag gitlab tag_docker

查看附注标签

gitlab不能打tag gitlab tag_gitlab不能打tag_02



(3)在提交历史中查看标签

$ git log --oneline --graph

gitlab不能打tag gitlab tag_docker_03



3、删除tag标签

$ git tag -d [标签名称]

例如:

$ git tag -d test-2.0

gitlab不能打tag gitlab tag_标签名_04



三、远程仓库tag操作

1、推送tag标签到远程仓库

# 将指定的标签上传到远程仓库
$ git push origin [标签名称]

# 将所有不在远程仓库中的标签上传到远程仓库
$ git push origin --tags

例如:

$ git push origin test-2.0

注:默认情况下,git push 命令并不会把标签推送到远程仓库中,必须手动地将 本地的标签 推送到远程仓库中



2、删除远程仓库tag标签

$ git push origin  :regs/tags/[标签名称]

$ git push origin --delete [标签名称]

例如:

$ git push origin :regs/tags/test-2.0

$ git push origin --delete test-2.0



四、检出标签

检出标签的理解:是在这个标签的基础上进行其他的开发或操作。

检出标签的操作实质:是以标签指定的版本为基础版本,新建一个分支,继续其他的操作。

因此 ,就是新建分支的操作了。

$ git checkout -b [分支名称] [标签名称]