git基础(6)-标签(tag)

给历史上某一次提交打上标签,以示该次提交的重要性,方便日后的查看、回溯。比如使用此功能来标记发布节点(V1.0.0)

tag 类型

  • 轻量标签(lightweight): 其实是一个独立的分支,且不可改变,是一个特定提交的引用。
  • 附注标签(annotated): 是存储在 Git 数据库中的一个完整对象。它有自身的校验和信息,包含标签名字、标签说明,标签本身也允许使用 GPG 来签署和验证。

创建 tag

  • git tag -a v1.0 -m "release 1.0", 创建一个附注标签,并且添加了附注信息”release 1.0”
  • git tag -a v0.8 <commitID> : 给过去的提交大标签,在命令末尾指定提交的校验和(或部分校验和 、7 位)

查看 tag

  • git tag : 列出所有的标签
  • git show <tagname> : 查看标签信息和对应的提交信息

删除 tag

  • git tag -d <tagname> : 删除 本地仓库上的标签

共享/推送 tag

默认情况,git push 不会推送 标签到远程仓库服务器上。需要显式地推送标签到共享服务器上。类似共享远程分支,执行 git push origin [tagname] 命令

1
2
3
4
5
6
7
8
9
## 推送V1.1Tag 到 GitTest远程仓库上
$ git push GitTest V1.1

Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), 161 bytes | 53.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0)
To https://github.com/Better-Jiang/GitTest.git
* [new tag] V1.1 -> V1.1

使用带--tags 选项,可一次性推送全部标签。git push GitTest --tags