标签管理
什么是标签
标签就是一个名字,标识一个版本,相当于版本的别名。版本就是一个commit。、
为什么用标签
因为tag就是一个让人容易记住的有意义的名字,在版本库中,用标签(tag)来标记一个版本。将来无论什么时候,可以通过标签把版本取出来。
背景:
Git的标签虽然是版本库的快照,但其实它就是指向某个commit的指针(跟分支很像对不对?但是分支可以移动,标签不能移动),所以,创建和删除标签都是瞬间完成的。
Git有commit,为什么还要引入tag?
因为tag就是一个让人容易记住的有意义的名字,它跟某个commit绑在一起。
创建标签
git tag <name>用于新建一个标签,默认为HEAD,也可以指定一个commit id;
git tag v1.0, 默认标签是打在最新提交的commit上的
git tag v0.9 6224937 标签打在指定的commit上
查看标签列表
git tag
查看标签信息
git show v0.9 可以用git show <tagname>查看标签信息
删除本地标签
git tag -d v0.1 //因为创建的标签都只存储在本地,不会自动推送到远程。所以,打错的标签可以在本地安全删除
标签推送给远程库
git push origin v1.0 //远程库中会有该标签,使用命令git push origin <tagname>:
git push origin --tags 一次性推送全部尚未推送到远程的本地标签
删除远程库标签
如果标签已经推送到远程,要删除远程标签就麻烦一点,先从本地删除
git tag -d v0.9
git push origin :refs/tags/v0.9
命令git push origin <tagname>可以推送一个本地标签;
命令git push origin --tags可以推送全部未推送过的本地标签;
命令git tag -d <tagname>可以删除一个本地标签;
命令git push origin :refs/tags/<tagname>可以删除一个远程标签。