查找给定提交的标记信息
有没有办法让标签与Git中的提交号码相关联?
对于我通常使用类似v1.1.0的标签进行标记。 在构build脚本期间,我创build了一个包含当前git信息的fwVersion.c文件。 目前,我已经提交,并在文件中的分支信息,但我想添加标签。
这可能吗?
检查文档的git describe
。 它查找给定提交(即指向提交的祖先的标记)的最近标记,并描述该提交的标记。
如果你只想知道提交是否被一个标签指向,那么你可以检查输出:
git describe --exact-match <commit-id>
如果你想要的是包含提交的第一个标签,那么:
git describe --contains <commit>
IMO给出了最好的答案。 如果你有一个频繁的标签,而不是使用“git tag –contains”,那么在一个大的版本库中,旧的提交可能需要一段时间才能运行,并为你提供所有包含该提交的标签。
这种forms的git describe运行速度非常快,并为您提供了一个单一的输出值,这是包含提交的第一个标记以及提交的距离。
您可以在手册中find这些信息
git tag --contains <commit>
对不起,我不知道如何添加评论,所以张贴答案…我发现两个上衣的组合答案给我我想这样的:
git describe --tags --exact-match <commit-id>
这会给你提供仅用于提交的标签和没有注释的标签。 当你想要查找标签而不用担心剥离格式(例如Jenkins)时很有用。
例如。 $ git describe --tags --exact-match head~2
给你:
$ ReleaseBeta
这个怎么样?
git tag --points-at <commit-id>
它给你所有的标签给定的提交(而git describe
只给你一个),并不包括后代提交标签(如git tag --contains
)。