以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
答案 0 :(得分:3)
我认为您的命令使用是正确的,而且更多的是回购/分支问题。
简而言之,来自describe文档:
该命令查找可从提交访问的最新标记。 如果标记指向提交,则仅显示标记。 否则,它将标签名称后缀为附加数量 提交在标记对象和缩写对象名称之上 最近的提交。
默认情况下(不带--all或--tags)git describe只显示带注释的内容 标签。有关创建带注释标记的更多信息,请参阅-a 和gs-tag的-s选项。
因此,如果未使用.video {
width: 100%;
position: relative;
padding-bottom: 56.25%; /* ratio 16/9 */
}
.video iframe {
border: none;
position: absolute;
width: 100%;
height: 100%;
}
显示所需的代码,我们可以假设它是:
要显示未注释的标记,我们可以使用git describe
。由于这似乎给了我们一个不同的标签,但不是你所追求的标签,我们可能会得出结论,你感兴趣的标签要么不存在,要么无法从当前分支到达。
我克隆了有问题的回购并运行了git describe --tags
,其中显示了一系列标记,包括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
,我们没有看到文档描述的后缀,因为标记指向当前提交(分支的一角)。