发布一个版本时,我们通常先在版本库中打一个标签,这样,就唯一确定了打标签时刻的版本。将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来。所以,标签也是版本库的一个快照。Git的标签虽然是版本库的快照,但其实它就是指向某个commit的指针(但是分支可以移动,标签不能移动),所以,创建和删除标签都是瞬间完成的。
1 切换到需要打标签的分支
$ git branch
* dev
master
$ git checkout master
Switched to branch 'master'
2 使用git tag name打标签
$ git tag v1.0
可以⽤命令git tag查看所有标签:
$ git tag
v1.0
注意:默认标签是打在最新提交的commit上的。
3 给旧的commit打标签
$ git log --pretty=oneline --abbrev-commit //获取commit_id
$ git tag v0.9 6224937(commit_id)
//查看标签信息
$ git show v0.9
4 创建带有说明的标签
$ git tag -a v0.1 -m "version 0.1 released" 3628164
-a 指定标签名
-m 指定说明⽂字
5 删除本地标签
$ git tag -d v0.1
Deleted tag 'v0.1' (was e078af9)
6 标签推送到远端
$ git push origin v1.0
//⼀次性推送全部尚未推送到远程的本地标签
$ git push origin --tags
7 删除远端标签
//先从本地删除
$ git tag -d v0.9
Deleted tag 'v0.9' (was 6224937)
//然后,从远程删除。
$ git push origin :refs/tags/v0.9
To git@github.com:michaelliao/learngit.git
- [deleted] v0.9