5

我正在尝试从给定标签中获取分支名称。我试过git describe --tag <tag-name>了,但这并没有为我提供任何分支名称。我尝试使用gitk显示标签和分支,但 gitk 没有显示标签。当我列出标签时,git tag -l我看到标签名称存在于列表中。

我只想要一个简单的命令,它可以在提供标签名称时告诉我分支。

4

3 回答 3

8

Git 中的标签和分支只是指向文件特定快照的标签。话虽如此,标签不是链接到分支,而是链接到提交。

因此,您必须检查哪个分支包含您的标签指向的提交,如下所示:

git branch --contains <tag name>
于 2012-10-05T21:16:48.540 回答
2

标签只是提交的别名。

也就是说,这应该回答你的问题: https ://stackoverflow.com/a/2707110/550177

于 2012-10-05T21:23:18.583 回答
0

如果您知道标签链接到的提交编号,您可以通过以下命令找到放置标签的分支:

git_branch=$(git for-each-ref | grep ${commit_num} | grep origin | sed "s/.*\///")
于 2019-11-04T13:23:36.027 回答