1. 什么是git标签
标签,就类似我们阅读时的书签,可以很轻易找到自己阅读到了哪里。
对于git来说,在使用git对项目进行版本管理的时候,当我们的项目开发到一定的阶段,需要发布一个版本。这时,我们就可以对最后一次commit打一个标签,比如说V1.0这样的一个具有特殊意义的标标签。
2. git标签的作用
当我们对某一次的提交打上git标签之后,我们后面继续开发,想找到该次commit时,通过查找该标签就很容易找到这次提交的版本。但是如果我们没有打标签时,就只能查找commit提交时的哈希值来返回到指定的位置了。所以标签的作用,是方便我们查阅某次具有里程碑式的commit的,比如我们发布一个新的版本时。
- 可以方便的回退到某一次提交
- 当发布版本时,对最后一次提交打上标签,方便查阅
3. git标签本地操作
3.1 创建标签
给指定的某次提交创建标签:
git tag -a 标签名称 某次提交的哈希值 -m 附注信息
给当前的提交创建标签:
git tag -a 标签名称 -m 附注信息
参数说明:
-a:后面跟的是创建标签的名称,一般我们都是使用类似 v1.0 这样的标签名称。
-m:添加标签的说明信息,比如 “里程碑版本 v1.0版本 正式发布”。
具体操作如下图:
3.2 查看标签
1、查看所有标签:
git tag
2、当我们的版本库存在很多标签时,可以根据字符串筛选,过滤掉自己不想查看的标签,只查看自己想看的标签,命令如下:
git tag -l "筛选字符串"
3、查看某次标签的详细信息
git show 标签名
具体操作如下图:
3.3 删除标签
git tag -d 标签名称
3.4 检出标签
检出标签,其实就是我们基于这个标签的基础上,进行项目的开发。
使用的命令也是检出命令,其实就是以当初打标签的commit,新建一个新的分支,然后基于那一次的提交来检出代码到新的分支。
命令如下:
git check -b 分支名称 标签名称
4. git标签远程操作
4.1 本地标签推送到远程仓库
下面是我远程的仓库,目前是没有任何标签的。
我们提推送本地的commit到远程仓库时,是使用 git push 。但是这样只能推送本地commit 到远程仓库,并不能把标签推送到远程仓库。要把标签推送到远程仓库,命令如下:
# 推送指定的标签到远程仓库
git push origin 标签名称
# 推送所有标签到远程仓库
git push origin --tags
其中,origin 是远程仓库的别名。
4.2 拉取远程仓库的标签到本地
有时候,我们是先在远程仓库创建新的标签的,那么如何拉取远程的标签到本地?
其实也是使用 git pull 命令。
git pull origin 标签名称
我们要先知道远程仓库的标签名称,操作如下:
4.3 删除远程仓库标签
git push origin :regs/tags/标签名称
git push origin --delete 标签名称
这两条命令的效果是一样的,都是删除远程仓库的标签。
如下,删除之前远程仓库有两个标签:
执行删除远程标签命令:
执行完删除远程标签命令之后,远程仓库的标签如下: