对于版本,我通常标记为v1.1.0.在我的构建脚本中,我正在创建一个包含当前git信息的fwVersion.c文件.目前,我在文件中提交了分支信息,但我想添加标记.
这可能吗?
查看文档git describe
.它找到给定提交的最近标记(即指向提交的祖先的标记),并根据标记描述该提交.
如果您只想知道标记是否指向了提交,那么您可以检查输出:
git describe --exact-match
如果你想要的是包含提交的第一个标签,那么:
git describe --contains
给出最佳答案IMO.如果你有频繁的标签而不是在大型存储库中的旧提交上使用"git tag --contains",则可能需要一段时间才能运行,并为您提供包含该提交的所有标记.
这种形式的git describe运行得非常快,并为您提供单个输出值,这是包含提交的第一个标记以及提交的返回距离.
这个怎么样?
git tag --points-at
它为您提供了给定提交的所有标记(而git describe
只提供了一个),并且不包含后代提交的标记(如同git tag --contains
).
您可以在手册中找到此信息
git tag --contains
对不起,我不知道如何添加评论,所以发布答案......我发现两个上衣的组合答案给了我想要的东西:
git describe --tags --exact-match
这为您提供了仅适用于该提交的标记以及没有注释的标记.当你想要找到标签而不担心剥离格式时很有用(例如Jenkins).
例如. $ git describe --tags --exact-match head~2
给你:
$ ReleaseBeta