git基础(7)--打标签
Git 可以给历史中的某一个提交打上标签,以示重要。
人们会使用这个功能来标记发布结点(v1.0 等等)。
1、列出标签
1)在 Git 中列出已有的标签是非常简单直观的。
git tag
这个命令以字母顺序列出标签;但是它们出现的顺序并不重要
2)可以使用特定的模式查找
git tag -l 'v1.1*'
2、创建标签
Git 使用两种主要类型的标签:轻量标签(lightweight)与附注标签(annotated)。
1)轻量标签:很像一个不会改变的分支 - 它只是一个特定提交的引用。
2)附注标签:存储在 Git 数据库中的一个完整对象。 它们是可以被校验的;其中包含打标签者的名字、电子邮件地址、日期时间;还有一个标签信息;并且可以使用 GNU Privacy Guard (GPG)签名与验证。
3、附注标签
在 Git 中创建一个附注标签是很简单的。 最简单的方式是当你在运行 tag 命令时指定 -a 选项:
git tag -a v1.4
通过使用 git show 命令可以看到标签信息与对应的提交信息:
git show v1.4
输出显示了打标签者的信息、打标签的日期时间、附注信息,然后显示具体的提交信息。
4、轻量标签
轻量标签本质上是将提交校验和存储到一个文件中 - 没有保存任何其他信息。 创建轻量标签,不需要使用 -a、-s 或 -m 选项,只需要提供标签名字:
git tag bug-110
如果在标签上运行 git show,你不会看到额外的标签信息。 命令只会显示出提交信息:
git show bug-110
5、后期打标签
你也可以对过去的提交打标签。
git log --pretty=oneline
显示提交的历史信息
要在那个提交上打标签,你需要在命令的末尾指定提交的校验和(或部分校验和)
git tag -a v1.3 46e4466d4f9b96bf4eebf50de86c40259c8da34f
6、共享标签
默认情况下,git push 命令并不会传送标签到远程仓库服务器上。
在创建完标签后你必须显式地推送标签到共享服务器上。
git push origin [tagname]
//如:
git push origin v1.5
一次性推送很多标签,也可以使用带有 —tags 选项的 git push 命令。这将会把所有不在远程仓库服务器上的标签全部传送到那里
git push origin --tags
当其他人从仓库中克隆或拉取,他们也能得到你的那些标签
7、删除标签
1)删除掉你本地仓库上的标签,可以使用命令 git tag -d
git tag -d bug-110 //可以使用下面的命令删除掉一个轻量级标签
2)上述命令并不会从任何远程仓库中移除这个标签,你必须使用 git push
git push origin :refs/tags/bug-110
8、检出标签
查看某个标签所指向的文件版本,可以使用 git checkout 命令,这会使你的仓库处于“分离头指针(detacthed HEAD)”状态——这个状态有些不好的副作用:
git checkout 2.0.0
在“分离头指针”状态下,如果你做了某些更改然后提交它们,标签不会发生变化,但你的新提交将不属于任何分支,并且将无法访问,除非确切的提交哈希。
如果你需要进行更改——比如说你正在修复旧版本的错误——这通常需要创建一个新分支
git checkout -b version2 v2.0.0
还没有评论,来说两句吧...