Git 标签

Git 标签

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

  • 创建标签

// 给当前提交版本打标签
git tag <tag name>

// eg: 打一个名称为 v1.0 的标签,此时默认将标签打到最新提交的 commit 上
git tag v1.0
  • 给指定提交版本打标签

// 查看历史提交的 commit id
git log --pretty=oneline --abbrev-commit

// 给指定提交版本打标签
git tag <tag name> <commit id>

// eg: 给提交版本号为 c53b867 的版本,打一个名称为 v0.8 的标签
git tag v0.8 c53b867
  • 创建带有说明的标签,用 -a 指定标签名,-m 指定说明文字:

git tag -a <tag name> -m <tag description> <commit id>

// eg:给版本号为 c53b867 的版本,打一个名称为 v0.8 的标签,并对 v0.8 这个标签添加说明文字为 "add v0.8 tag"
git tag -a v0.8 -m "add v0.8 tag" c53b867
  • 查看所有的标签 (标签不是按时间顺序列出,而是按字母排序的。)

git tag
  • 查看标签信息

git show <tag name>

// eg:查看标签名得 v0.9 的标签信息
git show v0.9
  • 删除标签

git tag -d <tag name>

// eg:删除标签名为 v0.1 的标签
git tag -d v0.1
  • 推送本地标签到远程库

git push origin <tag name>

// eg: 推送本地标签名为 v0.1 的标签到远程库中
git push origin v0.1
  • 一次性推送全部尚未推送到远程的本地标签

git push origin --tags
  • 如果标签已经推送到远程,想要删除远程标签

// 第一步:删除本地标签
git tag -d v0.1

// 第二步:从远程删除
git push origin :refs/tags/v0.1

// 第三步:在远程库中查看是否被删除