git为项目打上标签,例如,可以在项目稳定阶段或测试阶段,都可以打上一个版本号作为标签名。
1、列出标签
首先先列出当前项目的已有标签。
git tag
你也可以按照特定的模式查找标签。 例如,Git 自身的源代码仓库包含标签的数量超过 500 个。 如果只对 1.8.5 系列感兴趣
git tag -l "v1.8.5*" # 按照通配符列出标签需要 -l 或 --list 选项
2、创建标签
git tag -a v0.0.1 -m "初始版本 0.0.1"
显示 v0.0.1
标签与之对应的提交信息
git show v0.0.1
3、后续打标签
对已经提交过的版本但还未有标签的,也可创建标签
git log --pretty=oneline
git tag -a v0.0.0.1 309bc6f # 309bc6f 是 SHA-1字符串前7个字符
4、推送标签到远程仓库
默认情况下,git push
命令并不会传送标签到远程仓库服务器上。 在创建完标签后你必须显式地推送标签到共享服务器上。 这个过程就像共享远程分支一样——你可以运行 git push origin <tagname>
。
git push origin v0.0.0.1
可以看到远程库上面没有任何标签,在推送远程库之后,刷新页面。
如果想要一次性推送很多标签,也可以使用带有 --tags
选项的 git push
命令。 这将会把所有不在远程仓库服务器上的标签全部传送到那里。
git push origin --tags
5、删除标签
有时候需要删除本地仓库的标签,可以使用git tag -d <tagname>
git tag -d v0.0.0.2
当然你在执行以上命令后,并未删除远程库对应的标签,需使用git push <remote> :refs/tags/<tagname>
来更新远程库。
git push origin :refs/tags/v0.0.0.2
其实还有一种方法更为直观的删除远程库标签
git push origin --delete v0.0.0.2
6、检出标签(不建议这么做)
如果你想查看某个标签所指向的文件版本,可以使用 git checkout
命令, 虽然这会使你的仓库处于分离头指针(detached HEAD)
的状态——这个状态有些不好的副作用:
在分离头指针
状态下,如果你做了某些更改然后提交它们,标签不会发生变化, 但你的新提交将不属于任何分支,并且将无法访问,除非通过确切的提交哈希才能访问。 因此,如果你需要进行更改,比如你要修复旧版本中的错误,那么通常需要创建一个新分支:
敬请期待下一篇 git分支