git中tag的用法及作用

tag是git版本库的一个标记,指向某个commit的指针。

tag主要用于发布版本的管理,一个版本发布之后,我们可以为git打上 v.1.0.1 v.1.0.2 …这样的标签。

tag感觉跟branch有点相似,但是本质上和分工上是不同的:

  • tag 对应某次commit, 是一个点,是不可移动的
  • branch 对应一系列commit,是很多点连成的一根线,有一个HEAD 指针,是可以依靠 HEAD 指针移动的

所以,两者的区别决定了使用方式,改动代码用 branch,不改动只查看用 tag

tag 和 branch 的相互配合使用,有时候起到非常方便的效果,例如:已经发布了 v1.0、v2.0、v3.0 三个版本,我突然想不改现有代码的前提下,在 v2.0 的基础上加个新功能,作为 v4.0 发布,我们就可以检出 v2.0 的代码作为一个 branch。

创建tag

创建 tag 是基于本地分支的 commit,而且与分支的推送是两回事,就是说分支已经推送到远程了,但是你的 tag 并没有,如果把 tag 推送到远程分支上,需要另外执行 tag 的推送命令。

1、创建轻量标签

git tag 标签名 

直接以当前的提交版本创建一个【轻量标签】

2、创建附注标签

git tag -a 标签名称 -m 附注信息

说明:

  • -a : 理解为 annotated 的首字符,表示 附注标签
  • -m : 指定附注信息

查看标签

1、查看标签列表

git tag    // 直接列出所有的标签
git tag -l xxxx  //可以根据 xxxx 进行标签的筛选

2、查看标签的提交信息

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

3、在提交历史中查看标签

删除标签

git tag -d 标签名称

推送到远程仓库

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

git push origin 标签名称    // 将指定的标签上传到远程仓库
git push origin --tags    // 将所有不在远程仓库中的标签上传到远程仓库

删除远程仓库的标签

删除远程仓库上地标签同样也需要手动执行。

git push origin  :regs/tags/标签名称
git push origin --delete 标签名称

上面两个命令都是删除远程仓库中的指定标签。

检出标签

检出标签就是在这个标签的基础上进行其他的开发或操作。
检出标签的操作实质 : 就是以标签指定的版本为基础版本,新建一个分支,继续其他的操作。因此 ,就是新建分支的操作了。 

git checkout -b 分支名称 标签名称

 

posted @ 2023-02-27 18:00  李小菜丶  阅读(414)  评论(0编辑  收藏  举报