如果标签打错了,也可以删除:

  1. $ git tag -d v0.1
  2. Deleted tag 'v0.1' (was e078af9)

因为创建的标签都只存储在本地,不会自动推送到远程。所以,打错的标签可以在本地安全删除。

如果要推送某个标签到远程,使用命令git push origin <tagname>

  1. $ git push origin v1.0
  2. Total 0 (delta 0), reused 0 (delta 0)
  3. To git@github.com:michaelliao/learngit.git
  4. * [new tag] v1.0 -> v1.0

或者,一次性推送全部尚未推送到远程的本地标签:

  1. $ git push origin --tags
  2. Counting objects: 1, done.
  3. Writing objects: 100% (1/1), 554 bytes, done.
  4. Total 1 (delta 0), reused 0 (delta 0)
  5. To git@github.com:michaelliao/learngit.git
  6. * [new tag] v0.2 -> v0.2
  7. * [new tag] v0.9 -> v0.9

如果标签已经推送到远程,要删除远程标签就麻烦一点,先从本地删除:

  1. $ git tag -d v0.9
  2. Deleted tag 'v0.9' (was 6224937)

然后,从远程删除。删除命令也是push,但是格式如下:

  1. $ git push origin :refs/tags/v0.9
  2. To git@github.com:michaelliao/learngit.git
  3. - [deleted] v0.9

要看看是否真的从远程库删除了标签,可以登陆GitHub查看。

小结

原文:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/001376951885068a0ac7d81c3a64912b35a59b58a1d926b000