4 - 标签管理
发布一个版本时,我们通常先在版本库中打一个标签(tag),这样,就唯一确定了打标签时刻的版本。将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来。所以,标签也是版本库的一个快照。
标签的本质是指向某个commit的指针(跟分支很像,但是分支可以移动,标签不能移动)。本质上讲,tag就是一个让人容易记住的有意义的名字,它跟某个commit绑在一起。
创建标签
首先,切换到需要打标签的分支上, 然后,敲命令git tag
就可以打一个新标签:
1 | $ git tag v1.0 |
git tag
用于新建一个标签, 默认为HEAD
,也可以指定一个commit id:
1 | $ git log --pretty=oneline --abbrev-commit |
- 命令
git tag -a -m "blablabla..."
可以指定标签信息;
用-a
指定标签名,-m
指定说明文字:
1 | $ git tag -a v0.1 -m "version 0.1 released" 1094adb |
用命令git show
可以看到说明文字:
1 | $ git show v0.1 |
- 命令
git tag
可以查看所有标签。 - 可以用
git show <tagname>
查看标签信息
1 | $ git show v0.9 |
操作标签
推送某个标签到远程
使用命令git push origin
:
1 | $ git push origin v1.0 |
一次性推送全部尚未推送到远程的本地标签:
1 | $ git push origin --tags |
删除标签
1 | $ git tag -d v0.1 |
因为创建的标签都只存储在本地,不会自动推送到远程。所以,打错的标签可以在本地安全删除。
删除远程标签
先从本地删除:
1 | $ git tag -d v0.9 |
再远程删除:
1 | $ git push origin :refs/tags/v0.9 |