打印出一个Git标签的信息。

30

我需要一个git命令,它可以输出给定注释标签的信息。使用git tag -ln 几乎是可以实现的:

$ git tag -ln v1.3.7
v1.3.7          Here be annotations

只是我不想要开头的标记和空格,使用正则表达式感觉有些过度。有没有内置的标志可以使用?我正在使用 git 版本 1.8.3.2。

Print commit message of a given commit in git 的某些答案中使用了 git show --format=%B。我似乎无法仅限于消息输出,无论是对于提交还是标记。


2
答案不一定需要使用格式标志,如果存在其他解决方案。 - lime
1
你链接的问题与我的问题非常不同。它要求列出所有标签(包括消息)。我只是在询问单个标签,并省略除消息以外的所有细节。 - lime
2个回答

阿里云服务器只需要99元/年,新老用户同享,点击查看详情
36

我不确定需要什么版本的git,但是在最新版本中,您也可以执行以下操作:

git tag -l --format='%(contents)' <tag name>

仅获取标签本身的信息。


8
请注意,如果标记未被注释,则会打印提交信息。 - John McGehee
1
有没有办法去掉PGP签名? - SOFe
1
@SOFe git tag -l --format='%(contents:subject)' 只返回消息的第一行。 - Joseph Leedy

6

当我说:

“我只收到了这条消息(但是消息包括一些不相关的东西,例如PGP签名和signed-off-by行)”时。

git show -s --format=%B <tag>
请注意-s

3
是的,我本来期望它能做我想要的事情。但是额外的东西妨碍了我。你会认为由于 git tag -ln 排除它,也可以在 show 中省略它。 - lime

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,