Git 标签管理
目录
标签管理
创建标签
查看标签
删除标签
上传标签到远程仓库
删除远程的标签
标签的使用
标签管理
在本地仓库中我们往往会进行多次的提交,使用 git log 指令查看提交日志。
对于以往的每一次提交,我们都是使用40位 哈希id 值去标识一次提交,但是我们很轻易的就能发现这一缺陷,虽然可以使用40位 哈希id 值去唯一标识一次提交,但是这也太繁琐了吧,有没有其他一些简易的标识方法呢?
有的,git工具提供给了我们标签这一概念。什么是 git标签 呢?
git标签 其实就是对每一次提交的另一种标识,使用了 git标签 之后,就会使得每一次提交的标识更为简洁。
创建标签
切换到要打标签的分支,使用 git tag [标签名称] 的指令进行标签的创建。
使用 git log 指令查看提交日志,是为最新一次的提交被打上了 tag 标签,这也就证明了使用 git tag 指令默认是给最新的一次打标签的。如果我们想给之前的提交也创建标签呢,我们怎么样进行创建?
可以使用 git tag [标签名][以往提交的commit id] 指令对以往的提交打上标签。
此时就已经给最新的两次提交都打上了标签。
可以使用 git tag [标签名称] [commit id] -m "提交信息" 指令创建标签并给创建的标签添加备注信息。
给倒数第单词提交,创建标签并附上备注信息。
此时已经完成了对倒数第三次提交的标签的创建以及标签的备注。
查看标签
使用 git tag 指令查看所创建的标签。
我们发现打印的标签的顺序并不是按照提交的顺序打印的,而是按照创建的标签的顺序打印的。
在本地仓库对应的目录下可以查看我们创建的标签。
我们来查看一下,对应的标签目录下存放的是什么?
存放的是一个哈希值,这个哈希id其实就是标签对象的哈希id,通过这个标签对象的哈希id可以查看标签对象的相关详细信息,比如存储了标签对应的提交的 commit id,标签的备注信息等。
也可以可以使用 git show [标签名称] 查看标签的详细信息。
查看 v0.8 标签的详细信息。
删除标签
使用 git tag -d [标签名称] 指令删除对应的标签。
删除 v0.8 这个标签。
成功删除。
上传标签到远程仓库
使用 git push origin [标签名称] 将本地创建的标签上传到远程。
上传 v1.0 标签到远程。
在远程查看。
已经成功将标签 v1.0 上传到了远程。
有时候我们需要将所有的标签一下子全部上传到远程,所以可以使用 git push origin --tag 指令将本地创建的所有标签全部上传到远程。
在远程查看。
此时我们在本地创建的所有标签就已经被上传到了远程。
删除远程的标签
如何删除远程创建的标签呢?
在远程肯定是不能直接删除的,我们可以在远程删除之后,重新上传到远程,因为删除也是修改,这样就可以删除远程的标签了。
使用 git tag -d [标签名称] 删除本地的 v1.0 标签。
使用 git push origin :[删除的标签名称] 将删除的 标签推送到远程,从而将远程的标签删除。
删除远程的 v1.0 标签。
查看远程的标签。
我们发现,此时远程的 v1.0 标签已经被我们删除了。
标签的使用
创建了标签,我们可以将对每一次提交的标识变的更简洁,除此之外,还有其它的用处吗?
当然是有的,我们之前学习了git 版本的回退,是用每一次提交的 commit id 进行回退的,那么有了 签之后,我们就可以使用标签进行回退了。
创建了 3.c 文件,对文件进行了 add 且 commit。此时我们后悔了,想将当前的版本恢复到前前一次提交也就是 v0.9 标签对应的提交版本。按照以往的方法肯定是按照对应的 commit id 进行恢复的。但是此时我们可以使用标签 v0.9 进行恢复。
此时我们发现,使用标签同样的也实现了版本的回退,但是这种回退方法,比以往的 commit id 回退的方法更为简洁。
以上便是 git标签 的常见的基本使用。
本期内容到此结束^_^