Git——对象——tag

  标签,给各类对象上添加标签,方便查找。通常是给commit上添加标签。

  标签对象的增,删,查(详细信息),检索。

  官网地址:https://git-scm.com/docs/git-tag

1、新增

  格式如下:

git tag [-a | -s | -u <keyId>] [-f] [-m <msg> | -F <file>] [-e] <tagname> [<commit> | <object>]

  元信息:

  -m:tag的日志信息

  -F<file>:日志信息从文件中读取,不常用,略。

  tagName:标签的名称

  <commit> | object:tag表示的对象,通常为commmit对象。用户通常不会接触到tree和blob对象

  注解 & 签名:

  -a, annotate:给tag添加注解,即需要添加-m选项,默认值。

  -s, signature:给tag添加签名。

  -u <keyid>:给tag添加GPG签名。

  常规选项:

  -f, force,强制,若存在同名,则覆盖

  -e:全称为edit,开启编辑模式

  创建之后,可以在./git/refs/tag目录下查看到tag对象,文件名称为tag名称。

  示例:git tag -f -m “初始化提交” first_commit HEAD

2、查询

  格式如下:

git tag -v [--format=format] <tagname>

  查询所有tag,执行git tag [–-list(-l) | -n]。

  根据条件查询tag, 执行git tag –-list(-l) | grep <some condition>

  查询单个tag的详细信息, 执行 git tag -v <tagname>,执行的结果:

object c3ba4209641fa2539a14fb3487a302a34f5c4270
type commit
tag first_commit
tagger WorldInNet <[email protected]> 1592489554 +0800

初始化提交

  Object表示tag关联的对象ID, 第二行表示关联的对象类型为Commit,第三行显示tag的名称,第四行显示创建tag的用户名和邮箱,以及创建时间。最后一行显示tag的日志信息。

3、检索

  格式为: 

git tag [-n[<num>]] -l [--contains <commit>] [--no-contains <commit>][--points-at <object>] 
     [--column[=<options>] | --no-column] [--create-reflog] [--sort=<key>] [--format=<format>] [--[no-]merged [<commit>]] [<pattern>…]

  根据commitID查询tag,执行git tag –-contains commitID,会显示指向commitID的tag列表,--no-contains正好相反。

  根据CommitID查询tag,执行git tag –-points-at commitID,显示指向commitId的tag列表。

  根据提交历史是否可达查询tag,执行git tag –-merged commitID,会显示执行当前commitID所有可达提交的tag列表,--no-merged正好相反。若只有一个分支,都是可达的,会列出所有的tag。

  根据tag的名称查询tag,执行git tag -l <pattern>,pattern可以是tag的名称,也可以是正则表达式。例如*_tag,会查询出所有以_tag后缀的tag列表。

  条件:

  --[no-]contains <commit>:是否包含commit对应的tag

  --points-at <object>:当前object对应的tag列表

  --[no-]merged :是否包含分支合并产生的commit对象对应的tag

  <pattern>:tag名称的格式

  显示格式:

  -n:最多显示日志信息的n行

  -column, --no-column:表格方式展示tag列表,需要column.tag配置项,若无,不会有效果。tag存在日志信息时,也无效果。

  --sort=<key>,排序,key值参考tag.sort配置项。

4、删除

  删除tag的格式如下:

git tag -d <tagname>

  -d全称为delete,表示删除的含义。较为简单。当tag名称不存在时,报错,提示信息为”tag xx not found”

  示例:git tag -d first_commit。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章