看看Git中的标签带有哪些修订版

时间:2009-07-28 14:14:47

标签: git version-control dvcs git-tag

初学者Git问题:

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

2 个答案:

答案 0 :(得分:21)

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

git show v1.5

或者您可以通过命令

查看轻量级信息,跳过详细信息
git show v1.5 -lw

答案 1 :(得分:8)

如果有问题的标签是所谓的“重量级标签”或带注释的标签,则使用标签对象,例如: PGP签名版本(据我所知,Mercurial没有等价物)然后

$ git show v1.5.0

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

$ git cat-file tag v1.5.0

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

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

您可以在每个需要commit-ish或tree-ish的地方使用标记名称。


如果你想要的不仅仅是“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 .