git tag, 创建,列出,删除,验证GPG签名的tag对象。
语法:
1 2 3 4 5 6 7 8 | git tag [-a | -s | -u <keyid>] [-f] [-m <msg> | -F <file>] [-e] <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>] [--[no-]merged [<commit>]] [<pattern>…] git tag -v [--format=<format>] <tagname>… |
描述
添加一个tag引用到refs/tags/,除非-d/-l/-v选项来删除,列出和验证tags。没有给出-f选项,则名字不能已经存在。
如果-a -s -u <key_id>中的一个给出了,则命令创建一个tag对象,要求tag message,除非给出了-m <msg>或-F <file>给出,否则将开始一个编辑器来编辑tag message。
如果有-m <msg> 或者 -F <file>,而没有-a, -s, -u <keyid>中的一个,则-a被选择。否则创建一个指向commit的引用(即轻量级tag)
当使用-s或-u <keyid>时,将创建GnuPG签名的tag。如果-u <keyid>没有使用,当前用户的committer identity用来做key。
使用-a -s -u选项创建的tag对象叫做annotated tag,它们包含创建日期,tagger name,email,tagging messae,以及可选的GnuPG签名。
Annotated tag命中注定是用来发布的,而lightweight tags用来作为私有或者临时object标签。因此,一些支持naming objects的git命令默认忽略lightweight tags。
选项:
-a
--annotate
创建一个未签名的annotated tag对象。
-s
--sign
创建一个GPG-signed tag,使用默认e-mail地址作为key。
-u <keyid>
--local-user=<keyid>
使用给定的key创建一个GPG-signed tag。
-f
--force
如果tag已经存在,替换它。如果没有改选项,如果tag已经存在,创建将会失败。
-d
--delete
删除给定名字的已经存在的tags。
-v
--verify
验证给定名字tag的GPG签名
-l
--list
列出tag,可选的<pattern>用来列出匹配格式的tag,如'v-*'
-m <msg>
--message=<msg>
指定新建tag的message。
-F <file>
--file=<file>
通过文件指定message
<commit>
<object>
新建的tag指向该对象。默认是HEAD。