目录
- 1、标签介绍
- 2、列出标签
- 3、创建标签
- (1)标签的分类
- (2)附注标签
- (3)轻量标签
- 4、后期打标签
git commit
提交 。我们知道每一个提交操作,对应的都会生成一个commit-id
,而标签就是与某一个commit-id
绑定的名称 。一个标签一旦与某一个commit-id
绑定,那么该标签就不能修改绑定到其它commit-id
了,除非将该标签删除后才可以与其commit-id
绑定 。标签对象(tag object) 非常类似于一个提交对象,它包含一个标签创建者信息、一个日期、一段注释信息,以及一个指针 。主要的区别在于,标签对象通常指向一个提交对象,而不是一个树对象 。它像是一个永不移动的分支引用,永远指向同一个提交对象,只不过给这个提交对象加上一个更友好的名字罢了 。
像其他版本控制系统(VCS)一样,Git 可以给仓库历史中的某一个提交打上标签,以示重要 。比较有代表性的是,人们会使用这个功能来标记发布结点(
v1.0
、 v2.0
等等),我们也可以称标签tag
为里程碑 。2、列出标签在 Git 中列出已有的标签非常简单,只需要输入
git tag
(可带上可选的 -l
选项 --list
):$ git tagv1.0v2.0
这个命令以字母顺序列出标签,但是它们显示的顺序并不重要 。查看具体标签的详情,使用命令:
git show 标名称
。你也可以按照特定的模式查找标签 。例如,Git 自身的源代码仓库包含标签的数量超过 500 个 。如果只对
1.8.5
系列感兴趣,可以运行:$ git tag -l "v1.8.5*"v1.8.5v1.8.5-rc0v1.8.5-rc1v1.8.5-rc2v1.8.5.1v1.8.5.2v1.8.5.3
提示:如果你只想查看完整的标签列表,运行
git tag
命令,会默认以列表的方式展现版本库中的标签 。如果你提供了一个匹配标签名的通配模式,如上
"v1.8.5*"
,那么 -l
或 --list
选项就是强制要使用的 。3、创建标签(1)标签的分类Git 支持两种标签:轻量标签(
lightweight
)与附注标签(annotated
) 。轻量标签:很像一个不会改变的分支,它只是某个特定提交的引用 。
附注标签:轻量标签只有标签名称,而使用附注标签,还可以为标签添加说明 。
- 是存储在 Git 数据库中的一个完整对象, 它们是可以被校验的,其中包含打标签者的名字、电子邮件地址、日期时间,此外还有一个标签信息,并且可以使用
GNU Privacy Guard
(GPG
)签名并验证 。提示:GPG
是一种加密算法 , 现在Github支持提交使用GPG
加密,从而保证提交的数据,在传输的过程中没有被篡改 。 - 通常会建议创建附注标签,这样你可以拥有以上所有信息 。
- 但是如果你只是想用一个临时的标签,或者因为某些原因不想要保存这些信息 , 那么也可以用轻量标签 。
- 创建附注标签,就会产生Git中的第四种对象:
tag
对象 。
执行命令:
git tag -a 标签名 -m '说明信息'
。提示:这是在最新一次提交打上,打标签 。即若不指定标签绑定的commit-id
,则默认为HEAD指针所指向的提交 。
-a
选项意为"创建一个带注解的标签" 。(a
即 annotated
的缩写)不用
-a
选项也可以执行的 , 但该标签不会记录这标签是什么时候打的,谁打的,也不会让你给该标签添加注解 。我推荐一直创建带注解的标签 。
$ git tag -a v1.4 -m "my version 1.4"$ git tagv1.3v1.4
-m
选项指定该标签的说明信息(必须) 。如果你创建标签的时候 , 没有指定说明信息,Git 会启动编辑器要求你输入信息 。
通过使用
git show
命令,可以看到标签信息和与之对应的提交信息:$ git show v1.4tag v1.4Tagger: Ben Straub <ben@straub.cc> # 打标记的人Date:Sat May 3 20:19:12 2014 -0700 # 打标机的实际my version 1.4 # 标记的说明信息# 以下是标记所对应的commit对象的信息commit ca82a6dff817ec66f44342007202690a93763949Author: Scott Chacon <schacon@gee-mail.com>Date:Mon Mar 17 21:52:11 2008 -0700changed the version number
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Dubbo 03: 直连式 + 接口工程
- AgileBoot - 项目内统一的错误码设计
- iqoo z3摄像头_iqooz3前置摄像头
- 按键精灵一般都有什么用(按键精灵哪个命令最好用)
- 剑网三按键精灵怎么才能用(按键精灵5分钟循环一次)
- CPU使用率一直100%怎么办(cpu使用率突然100%)
- Go 互斥锁Mutex
- 『现学现忘』Git基础 — 35、Git中删除文件
- 火影忍者10月10日微信每日一题答案是什么
- 一加9pro屏幕分辨率_一加9pro屏幕参数