我已按照上一个post尝试找出哪个版本包含给定的git提交。
git tag --contains 8f873c1ff4ca034626093d03b254e7cb8bb782dd
它给出了一个从 v3.17到v3.19-rc7 的列表。
我还发现还有另一个命令可以做到这一点
git describe --tag 8f873c1ff4ca034626093d03b254e7cb8bb782dd
但它给了我一个不同的结果, v3.16-rc5-211-g8f873c1 。请注意,上一个结果 v3.17到v3.19-rc7 不包含任何v3.16.x版本。
实际上,我使用git checkout <tags>
手动搜索,然后我发现给定的提交最初是在v3.16.2中引入的。
有人能解释一下这里发生了什么吗?
答案 0 :(得分:0)
你问了两个不同的问题。
git describe --tag 8f873c1ff4ca034626093d03b254e7cb8bb782dd
为您提供特定提交的说明。它从给定的提交开始,然后向后,直到它找到一个标记,并给出一个<tag>-<count>-g<commit_id>
形式的答案,它告诉提交<commit_id>
是{{1} } <count>
之后提交。
<tag>
要求 在此命令的输出中将比指定的提交更新。也就是说,此命令正在搜索与上一个命令相反的方向。
因此,既然您要问两个截然不同的问题,那么您将得到两个不同的答案。