如果标签打错了,也可以删除:
$git tag -d v
0.
1
Deletedtag
'v0.1'(was e078af9)
因为创建的标签都只存储在本地,不会自动推送到远程。所以,打错的标签可以在本地安全删除。
如果要推送某个标签到远程,使用命令git pushorigin <tagname>
:
$ git push origin v1.
0
Total0(delta
0), reused
0(delta
0)
Togit
@github.
com:michaelliao/learngit.git
* [new tag] v1.
0-> v1.
0
或者,一次性推送全部尚未推送到远程的本地标签:
$ git push origin --tags
Counting objects:
1, done.
Writing objects:
100% (
1/
1),
554bytes, done.
Total
1(delta
0), reused
0(delta
0)
To git
@github.com:michaelliao/learngit.git
* [
newtag] v0
.2-> v0
.2
* [
newtag] v0
.9-> v0
.9
如果标签已经推送到远程,要删除远程标签就麻烦一点,先从本地删除:
$git tag -d v
0.
9
Deletedtag
'v0.9'(was
6224937)
然后,从远程删除。删除命令也是push,但是格式如下:
$git push origin
:refs/tags/v0.
9
Togit
@github.
com:michaelliao/learngit.git
- [deleted] v
0.
9
要看看是否真的从远程库删除了标签,可以登陆GitHub查看。
小结
· 命令git push origin<tagname>
可以推送一个本地标签;
· 命令git push origin --tags
可以推送全部未推送过的本地标签;
· 命令git tag -d <tagname>
可以删除一个本地标签;
· 命令git push origin:refs/tags/<tagname>
可以删除一个远程标签