概述
标签永远指向某个提交记录。
当软件发布新的大版本,或者是修正一些重要的 Bug 或是增加了某些新特性,我们可以打一个标签,标识了某个特定的位置。
标签不会随着新的提交而移动。你也不能检出到某个标签上面进行修改提交,它就像是提交树上的一个锚点,标识了某个特定的位置。
标签总是和某个commit挂钩。如果这个commit既出现在master分支,又出现在dev分支,那么在这两个分支上都可以看到这个标签。
命令
新建标签
普通标签
新建一个tag在当前commit
如果你不指定提交记录,Git 会用 HEAD
所指向的位置。
git tag [tag]
git tag v1
新建一个tag在指定commit
git tag [tag] [commit]
git tag v1 C1
注解标签
创建带有说明的标签,用-a
指定标签名,-m
指定说明文字
git tag -a [VERSION] -m "released [VERSION]"
git tag -a v0.1 -m "version 0.1 released"
git tag -a v0.1 -m "version 0.1 released" 1094adb
删除标签
删除本地标签
git tag -d <tagname>
git tag -d v1.0
删除远程标签
删除本地标签后,推送到远程
git push <remote> :refs/tags/<tagname>
git push origin :refs/tags/v1.0
删除远程标签
git push origin --delete <tagname>
查看标签
列出所有tag,标签不是按时间顺序列出,而是按字母排序的。
git tag
查看tag信息
git show [tag]
提交标签
提交指定tag
git push [remote] [tag]
git push origin v1
提交所有tag
git push [remote] --tags
git push origin --tags
使用标签
新建一个分支,指向某个tag
git checkout -b [branch] [tag]