目录

1. 简介2. Git是什么2.1. Git的诞生2.2. 集中式vs分布式3. 安装Git4. 创建版本库5. 时光机穿梭5.1. 版本回退5.2. 工作区和暂存区5.3. 管理修改5.4. 撤销修改5.5. 删除文件6. 远程仓库6.1. 添加远程库6.2. 从远程库克隆7. 分支管理7.1. 创建与合并分支7.2. 解决冲突7.3. 分支管理策略7.4. Bug分支7.5. Feature分支7.6. 多人协作7.7. Rebase8. 标签管理8.1. 创建标签8.2. 操作标签9. 使用GitHub10. 使用Gitee11. 自定义Git11.1. 忽略特殊文件11.2. 配置别名11.3. 搭建Git服务器12. 使用SourceTree13. 期末总结

8.2. 操作标签

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

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

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

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

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

$ git push origin --tags
Total 0 (delta 0), reused 0 (delta 0)
To github.com:michaelliao/learngit.git
 * [new tag]         v0.9 -> v0.9

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

$ git tag -d v0.9
Deleted tag 'v0.9' (was f52c633)

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

$ git push origin :refs/tags/v0.9
To github.com: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>可以删除一个远程标签。