Git中的标签(tag)可以针对某一时间点的版本做标记,常用于版本发布。
1. 打标签
Git标签分为两种类型:轻量标签和带注释的标签。轻量标签是指向提交对象的引用,带注释的标签则是仓库中的一个独立对象。建议使用带注释的标签。
轻量标签:
$ git tag v20211101-1.3.2
带注释的标签:
$ git tag -a v20211101-1.3.3 -m “The 20211101-1.3.3 version”
创建轻量标签不需要传递参数,直接指定标签名称即可。创建附注标签时,参数a即annotated的缩写,指定标签类型,后附标签名。参数m指定标签说明,说明信息会保存在标签对象中。
2. 列出本地所有标签
$ git tag v20211101-1.3.1 v20211101-1.3.2 v20211101-1.3.3
3. 查看标签信息
$ git show v20211101-1.3.3
4. 搜索标签
$ git tag -l "v20211101-1.3.*" v20211101-1.3.1 v20211101-1.3.2 v20211101-1.3.3
其中的“l”就是 list的意思,比如上面会搜索出v20211101-1.3.x的版本tag
5. 切换到指定标签的版本
$ git checkout -b test_version v20211101-1.3.2 Switched to a new branch 'test_version'
其中的“test_version”就是新切换的分支的名字,v20211101-1.3.2 就是之前v20211101-1.3.2版本打的tag名字。
PS: 也可以直接使用 git checkout v20211101-1.3.2 , 但这样会使当前的分支处于游离态(‘detached HEAD’ state), 如果你需要对旧版本进行修改,最好像上面一样创建一个新的分支。
6. 给历史提交打标签
首先用 git log --oneline 指令找出历史提交的commit id, 然后在打tag的指令末尾加上这个commit id 即可。
7. 删除标签
$ git tag -d v20211101-1.3.0 Deleted tag 'v20211101-1.3.0' (was 91cc764)
8. 推送标签到远程Git服务器
推送一条标签信息
$ git push origin v20211101-1.3.5
推送本地所有标签信息
$ git push origin –tags