如何找到包含 git commit 的第一个标签?

mer*_*man 23 git

我有我感兴趣的提交的 SHA ID,并想知道如何找到包含它的第一个标签。

use*_*445 16

如前所述,这可以通过git describe. 但是,在您的特定情况下,您可能会发现 run 更方便 git name-rev --tags --name-only <SHA>,它输出的内容正是您想要的。请参阅git-name-rev(1)


Gil*_*il' 13

git describe --contains "$committish"显示对构建在标签上的提交的引用加上~$n祖先计数,因此以下命令显示包含提交的最新标签:

git describe --contains "$committish" | sed 's/~.*//'
Run Code Online (Sandbox Code Playgroud)

如果没有包含此提交的标签,git describe将失败。如果您想获得(缩写)committish,请添加该--always选项。