1.什么是tag
1.1 tag的简单理解
tag 中文我们可以称它为 标签。
简单的理解,tag 就是 对某次 commit 的一个标识,相当于起了一个别名。
例如,在项目发布某个版本的时候,针对最后一次commit 起一个 v1.0.100 这样的标签来标识里程碑的意义。
1.2 tag的类型
有两种类型的标签 : 轻量标签(lightweight)、附注标签(annotated)
【轻量标签 】: 只是某个commit 的引用,可以理解为是一个commit的别名;
【附注标签】 :是存储在git仓库中的一个完整对象,包含打标签者的名字、电子邮件地址、日期时间 以及其他的标签信息。
它是可以被校验的,可以使用 GNU Privacy Guard (GPG) 签名并验证。
2.本地tag的操作
2.0 项目准备
准备一个git 项目,做几次版本提交即可。
2.1 查看标签
2.1.1 查看标签列表
$ git tag
or
$ git tag -l [标签名称筛选字符串*] 或者 git tag --list [标签名称筛选字符串*]
说明 :
git tag
: 直接列出所有的标签
git tag -l xxxx
: 可以根据 xxxx 进行标签的筛选
2.1.2 查看标签的提交信息
$ git show 标签名
git show 标签名
: 查看标签的信息,(轻量标签 和 附注标签 的信息是不一样的)
2.1.3 在提交历史中查看标签
2.2 创建标签
2.2.1 创建轻量标签
$ git tag 标签名
or
$ git tag 标签名 提交版本
说明 :
git tag 标签名
: 直接给当前的提交版本创建一个【轻量标签】
git tag 标签名 提交版本号
:给指定的提交版本创建一个 【轻量标签】
2.2.2 创建附注标签
$ git tag -a 标签名称 -m 附注信息
or
$ git tag -a 标签名称 提交版本号 -m 附注信息
说明:
-a
: 理解为
annotated
的首字符,表示 附注标签
-m
: 指定附注信息
git tag -a 标签名称 -m 附注信息
:直接给当前的提交版本创建一个 【附注标签】
git tag -a 标签名称 提交版本号 -m 附注信息
:给指定的提交版本创建一个【附注标签】
2.3 删除标签
$ git tag -d 标签名称
说明 :
git tag -d 标签名称
: 删除指定名称的标签
3.远程仓库tag的操作
3.0 一个干净的远程仓库
没有任何标签的远程仓库
3.1 推送到远程仓库
默认情况下,
git push
命令并不会把标签推送到远程仓库中。
因此,我们必须手动
地将 本地的标签 推送到远程仓库中。
$ git push origin 标签名称
or
$ git push origin --tags
说明 :
git push origin 标签名称
: 将指定的标签上传到远程仓库
git push origin --tags
: 将所有不在远程仓库中的标签上传到远程仓库
3.1.1 推送单个标签
3.1.2 推送所有标签
3.2 删除远程仓库的标签
删除远程仓库上地标签同样也需要手动执行。
$ git push origin :regs/tags/标签名称
or
$ git push origin --delete 标签名称
说明 :
上面两个命令都是删除远程仓库中的 指定标签
3.2.1 删除之前的标签
3.2.2 执行删除操作
3.2.3 删除之后的标签
4.检出标签
检出标签的理解 : 我想在这个标签的基础上进行其他的开发或操作。
检出标签的操作实质 : 就是以标签指定的版本为基础版本,新建一个分支,继续其他的操作。
因此 ,就是 新建分支的操作了。
$ git checkout -b 分支名称 标签名称
5.完成
Congratulations!
You are one step closer to success!
版权归原作者 NorthCastle 所有, 如有侵权,请联系我们删除。