git tag

发布于:2025-02-10 ⋅ 阅读:(39) ⋅ 点赞:(0)

文章目录

  • 1.简介
  • 2.格式
  • 3.选项
  • 4.示例
  • 参考文献

1.简介

同大多数 VCS 一样,Git 也可以对某一时间点的版本打上标签,用于版本的发布管理。

一个版本发布时,我们可以为当前版本打上类似于 v.1.0.1、v.1.0.2 这样的 Tag。一个 Tag 指向一个 Commit ID,同时还可以为 Tag 添加备注,如当前的版本功能。

2.格式

git tag [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <file>] [-e]
	[(--trailer <token>[(=|:)<value>])…​]
	<tagname> [<commit> | <object>]
git tag -d <tagname>…​
git tag [-n[<num>]] -l [--contains <commit>] [--no-contains <commit>]
	[--points-at <object>] [--column[=<options>] | --no-column]
	[--create-reflog] [--sort=<key>] [--format=<format>]
	[--merged <commit>] [--no-merged <commit>] [<pattern>…​]
git tag -v [--format=<format>] <tagname>…​

3.选项

-a
--annotate
创建一个带注释的标签。

-m <msg>
--message=<msg>-a 选项一起使用,用于指定标签的注释。

-l
--list
列出所有标签,可以通过模式过滤标签。

-f
--force
强制创建标签,如果标签已经存在,则覆盖它。

--sort=<key>
用于对列出的标签进行排序。
常用的排序键有:
creatordate:按标签的创建日期排序(从旧到新)。
refname:按标签名称(即引用名称)进行字母顺序排序。
前面加上减号 -creatordate-refname 表示降序。

4.示例

(1)新建标签。

Git 标签有两种类型:轻量级的(lightweight)和含附注的(annotated)。

轻量级标签就像是个不会变化的分支,实际上它就是个指向特定提交对象的引用。而含附注标签,实际上是存储在仓库中的一个独立对象,它有自身的校验和信息,包含着标签的名字,电子邮件地址和日期,以及标签说明,标签本身也允许使用 GNU Privacy Guard (GPG) 来签署或验证。一般我们都建议使用含附注型的标签,以便保留相关信息;当然,如果只是临时性加注标签,或者不需要旁注额外信息,用轻量级标签也没问题。

注意,如果一个代码仓库有多个目录,每个目录是单独的模块,那么打 tag 时按 modulename/v1.0.0 这种方式,可以解决多目录按 tag go get。

# 轻量级标签
git tag <tagname>

# 含附注的标签
git tag -a <tagname> -m <comment>

# 示例
git tag v1.0
git tag -a v1.1 -m "my version 1.1"

(2)将本地标签推送到远端。

# 推送本地指定标签
git push origin <tagname>

# 推送本地所有标签
git push origin --tags

(3)查看标签。

# 查看所有本地标签
git tag
v1.1.0
v1.1.1

# 按照创建时间降序排列
git tag --sort=-creatordate

# 按照创建时间升序排列
git tag --sort=creatordate

# 查看所有远端标签
git ls-remote --tags

# 模糊查询标签。支持使用通配符 *
git tag -l <tagname pattern>

git tag -l "*.1.1"
v1.1.1

# 查看标签详细信息
git show <tagname>

执行 git tag 命令进入交互模式列出所有标签后,可以按下 q 键退出交互。

(4)删除标签。

# 删除本地标签
git tag -d <tagname>

# 删除远端标签
git push origin (-d | --delete) <tagname>
git push origin :refs/tags/<tagname>

(5)重命名标签。

无重命名标签选项,只能先删除然后新建。

git tag -d <tagname> && git tag <tagname>

参考文献

Git - git-tag Documentation


网站公告

今日签到

点亮在社区的每一天
去签到