14

初学者Git问题:

Mercurial世界中,hg tags给我一个标签列表和相应的修订,而git tag只列出标签名称。我如何查看匹配的转数/哈希是什么?

4

2 回答 2

21

有关与该标签关联的完整信息,请使用命令

git show v1.5

或者可以通过命令查看轻量级信息,跳过详细信息

git show v1.5 -lw
于 2009-07-28T14:18:11.023 回答
8

如果有问题的标签是所谓的“重量级标签”或带注释的标签,利用标签对象,例如 PGP 签名版本(据我所知 Mercurial 没有等效的),那么

$ git show v1.5.0

将同时显示标记信息(标记器、标记日期、标记消息 - 通常包含 PGP 签名块)以及有关标记提交的信息。如果您愿意,可以使用低级等效项:

$ git cat-file tag v1.5.0

v1.5.0(如果不是标签对象,这将失败)。

如果有问题的标签是所谓的“轻量级标签”,它只是refs/tags/*命名空间中的一个引用。您可以使用“git show 轻量级标签”来显示给定标签指向的提交

您可以在每个期望提交式或树式的地方使用标签名称。


如果您想要的不仅仅是“git tag”/“git tag -l”提供的功能,您可以使用以下管道(低级)命令之一git show-refs

$ git show-ref --tags
$ git show-ref --dereference --tags

git for-each-ref,它提供使用选项提取更多信息--format=<format>,并使用选项进行排序--sort=<key>

$ git for-each-ref refs/tags/

您也可以(ab)使用git ls-remote它,产生类似于“ git show-ref --dereference --tags”的输出:

$ git ls-remote --tags .
于 2009-07-28T17:59:50.370 回答