如果標籤打錯了,也可以刪除:
$ git tag -d v0.1
Deleted tag 'v0.1' (was e078af9)
因爲創建的標籤都只存儲在本地,不會自動推送到遠程。所以,打錯的標籤可以在本地安全刪除。
如果要推送某個標籤到遠程,使用命令git push origin <tagname>
:
$ git push origin v1.0
Total 0 (delta 0), reused 0 (delta 0)
To [email protected]:michaelliao/learngit.git
* [new tag] v1.0 -> v1.0
或者,一次性推送全部尚未推送到遠程的本地標籤:
$ git push origin --tags
Counting objects: 1, done.
Writing objects: 100% (1/1), 554 bytes, done.
Total 1 (delta 0), reused 0 (delta 0)
To [email protected]:michaelliao/learngit.git
* [new tag] v0.2 -> v0.2
* [new tag] v0.9 -> v0.9
如果標籤已經推送到遠程,要刪除遠程標籤就麻煩一點,先從本地刪除:
$ git tag -d v0.9
Deleted tag 'v0.9' (was 6224937)
然後,從遠程刪除。刪除命令也是push,但是格式如下:
$ git push origin :refs/tags/v0.9
To [email protected]:michaelliao/learngit.git
- [deleted] v0.9
要看看是否真的從遠程庫刪除了標籤,可以登陸GitHub查看。
小結
-
命令
git push origin <tagname>
可以推送一個本地標籤; -
命令
git push origin --tags
可以推送全部未推送過的本地標籤; -
命令
git tag -d <tagname>
可以刪除一個本地標籤; -
命令
git push origin :refs/tags/<tagname>
可以刪除一個遠程標籤。