1.创建标签,首先切换到要打标签的分支
$ git checkout master
打一个新的标签
$ git tag v1.0
查看所有标签
$ git tag
2.默认标签是打在最新提交的commit上的。有时候,如果忘了打标签,比如,现在已经是周五了,但应该在周一打的标签没有打,怎么办?
方法是找到历史提交的commit id,然后打上就可以了:
$ git tag v0.9 commit id ```
3.查看标签信息:
```$ git show <tagname>```
4.还可以创建带有说明的标签,用-a指定标签名,-m指定说明文字:
```$ git tag -a v0.1 -m "version 0.1 released" commit id```
5.还可以通过-s用私钥签名一个标签:
```$ git tag -s v0.2 -m "signed version 0.2 released" commit id```
签名采用PGP签名,因此,必须首先安装gpg(GnuPG),如果没有找到gpg,或者没有gpg密钥对,就会报错:
gpg: signing failed: secret key not availableerror: gpg failed to sign the dataerror: unable to sign the tag
如果报错,请参考GnuPG帮助文档配置Key。
用命令git show <tagname>
6.创建的标签都只存储在本地,不会自动推送到远程。所以,打错的标签可以在本地安全删除。
```$ git tag -d v0.1```
如果要推送某个标签到远程,使用命令
```$git push origin <tagname>```
或者,一次性推送全部尚未推送到远程的本地标签:
```$ git push origin --tags```
7.如果标签已经推送到远程,要删除远程标签就麻烦一点,先从本地删除:
```$ git tag -d v0.9```
然后,从远程删除。删除命令也是push,但是格式如下:
```$ git push origin :refs/tags/v0.9```