标签

创建标签

在 git 中打标签很简单,首先,切换到要打标签的分支上

git switch dev

# Switched to branch 'dev'

然后使用:

git tag v1.0

# 打新标签 v1.0

可以使用 git tag 查看所有标签

默认标签打到最新提交的 commit 上的。有时候,如果忘了打标签,可以找到历史提交的commit id, 然后再打上, 例如:

git tag v0.9 f52c633

TIP

标签不是按时间顺序列出,而是按字母排序的。可以用git show <tagname>查看标签信息:

还可以创建带有说明的标签,用-a指定标签名,-m指定说明文字:

git tag -a v0.1 -m "version 0.1 released" 1094adb

标签总是和某个 commit 挂钩。如果这个 commit 既出现在 master 分支,又出现在 dev 分支,那么在这两个分支上都可以看到这个标签。

操作标签

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

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 -d tag tagName

# git push origin :refs/tags/tagename

# To github.com:michaelliao/learngit.git
# - [deleted]         v0.9

登录远程仓库,就可以发现标签已经被删除了