git tag的类型及其命令详解

git tag命令用于操作Git的tag对象,如进行创建、删除、列表和验证等。

1. Git中的tags分类

Git中的tags总体可以分为两类:

1) "annotated" tags
即使用git tag -a|-s|-u <keyid>命令创建的tags。
一个"annotated" tags意味着一次正式的发布。
"annotated" tags对象中包含创建日期,创建者名字和邮箱、tag message等信息,有的tags还包含GnuPG签名信息。

根据"annotated" tags中是否包含GnuPG签名信息,又可以分为:

  • signed "annotated" tags,包含GnuPG签名信息
使用git tag -a命令创建的tags
  • unsigned "annotated" tags,不包含GnuPG签名信息

使用git tag -s|-u <keyid>命令创建的tags


2) "lightweight" tags
使用git tag <tagname>创建的tags。

一个"lightweight" tags意味着一个私有的、临时的标签。

"lightweight" tag仅仅是为一个commit对象起了个别名,不包含任何其他信息。

2. git tag命令

1) 创建tag的命令格式

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

2) 删除tag的命令格式:
git tag -d <tagname>…​

3) 查看tag列表的命令格式:
git tag [-n[<num>]] -l [--contains <commit>] [--contains <commit>]
	[--points-at <object>] [--column[=<options>] | --no-column]
	[--create-reflog] [--sort=<key>] [--format=<format>]
	[--[no-]merged [<commit>]] [<pattern>…​]

4) 验证的命令格式:
git tag -v [--format=<format>] <tagname>…​

3. git tag命令示例

  • git tag命令

在refs/tags/命名空间中创建一个tag对象,tag不能重名

  • git tag -f命令

在refs/tags/命名空间中创建一个tag对象,tag可以替换重名

  • git tag -l命令

查看tag的list

  • git tag -l 'v-*'命令

查看匹配的tag的list

  • git tag -v命令

验证tag

  • git tag -d命令

删除tag

  • git tag -a|-s|-u <keyid>命令

在refs/tags/命名空间中创建一个"annotated" tag对象,必须同时给出tag message。
即git tag -a|-s|-u <keyid> -m <message>|-F <message_file>
另外,git tag -m <message>|-F <message_file>等价于git tag -a -m <message>|-F <message_file>

  • git tag -a命令

在refs/tags/命名空间中创建一个unsigned的tag对象

  • git tag -s|-u <keyid>命令

在refs/tags/命名空间中创建一个GnuPG signed的tag对象
其中-s,默认使用邮件地址的keyid,也可以在.git/config文件中为[user]定义signingKey = <gpg-keyid>
其中-u <keyid>,使用指定的keyid

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值