我正在尝试从给定标记中获取分支名称。
我试过了git describe --tag <tag-name>
,但这并没有为我提供任何分支名称。我尝试使用gitk
显示标签和分支,但gitk没有显示标签。当我列出标签git tag -l
时,我看到列表中存在标签名称。
我只想要一个简单的命令,它可以在提供标签名称时告诉我分支。
答案 0 :(得分:5)
Git中的标签和分支只是指向文件特定快照的标签。话虽这么说,标签不是链接到分支,而是链接到提交。
因此,您必须检查该分支是否包含您的标记指向的提交,如下所示:
git branch --contains <tag name>
答案 1 :(得分:1)
标记只是提交的别名。
那说,这应该回答你的问题: https://stackoverflow.com/a/2707110/550177
答案 2 :(得分:0)
如果您知道标签链接到的提交号,则可以通过以下命令找到放置标签的分支:
git_branch=$(git for-each-ref | grep ${commit_num} | grep origin | sed "s/.*\///")