gpt4 book ai didi

git - 如何在 git 中获取最新的 release tag 以及到 HEAD 的距离

转载 作者:太空狗 更新时间:2023-10-29 14:43:11 24 4
gpt4 key购买 nike

使用 https://github.com/google/glog举个例子。最新版本是 0.3.5。

在 stackoverflow 和 google 上搜索了几个小时后,我找不到正确的答案。

git describe 

表演

v0.3.3-147-gb3695ee

git describe --tags

显示

v0.3.4-133-gb3695ee

git describe --tags `git rev-list --tags --max-count=1`

显示

v0.3.5

我应该输入什么命令才能得到

v0.3.5-41-gb3695ee

最佳答案

我认为你的命令使用是正确的,它更像是一个 repo /分支问题。

简而言之,来自 describe文档:

The command finds the most recent tag that is reachable from a commit. If the tag points to the commit, then only the tag is shown. Otherwise, it suffixes the tag name with the number of additional commits on top of the tagged object and the abbreviated object name of the most recent commit.

By default (without --all or --tags) git describe only shows annotated tags. For more information about creating annotated tags see the -a and -s options to git-tag.

因此,如果使用 git describe 未显示所需的标签,我们可以假设它是:

  • 无法从当前提交访问。
  • 不是带注释的标签。
  • 不是现有标签。

要显示未注释的标签,我们可以使用 git describe --tags .由于这似乎给了我们一个不同的标签,而不是你想要的标签,我们可能会得出结论,你感兴趣的标签不存在,或者无法从当前分支访问。

我克隆了有问题的 repo 并运行了 git tag --list它确实显示了一系列标签,包括 0.3.3 , 0.3.4 , 和 0.3.5 .所以标签似乎存在,但不能在 master 上分支。我们可以用 git branch --contains <commit> 确认这一点, 其中<commit>将是 0.3.5 .如果您还没有克隆任何远程分支,这不会给您任何结果。

我们可以运行 git branch -r --contains <commit>检查远程分支,输出 origin/v035 .看起来我们要查找的标签只能在远程 origin/v035 上访问分支机构。

如果我们在本地检查这个分支,然后运行 ​​git describe --tags ,我们将得到输出 v0.3.5 ,我们看不到文档描述的后缀,因为标记指向当前提交(分支的尖端)。

关于git - 如何在 git 中获取最新的 release tag 以及到 HEAD 的距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45430925/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com