初学者Git问题:
在Mercurial世界中,hg tags
给我一个标签列表和相应的修订,而git tag
只列出标签名称。我如何查看匹配的转数/哈希是什么?
有关与该标签关联的完整信息,请使用命令
git show v1.5
或者可以通过命令查看轻量级信息,跳过详细信息
git show v1.5 -lw
如果有问题的标签是所谓的“重量级标签”或带注释的标签,利用标签对象,例如 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 .