识别标签属于git中的哪个分支

iDe*_*Dev 4 tags git branch repository remote-branch

我首先将仓库同步到分支名称 myBranch 的清单。然后我从中获取标签

git tag -l
Run Code Online (Sandbox Code Playgroud)

现在我想知道使用 git 作为 git tag -l 的结果获得的每个标签实际上是在哪个分支上创建的。请注意:我不希望 myBranch 作为输出,而是希望创建标签的远程分支名称。

Von*_*onC 8

抛开分支可以随时重命名或删除这一事实(不会丢失任何提交,仍然可以在另一个分支的路径中引用),您能做的最好的事情是:

  • 获取包含标记引用的提交的分支

请参阅“显示提交的原始分支”,并结合“ Git - 如何判断标签指向哪个提交”。(即与
的组合)git rev-parse <tag>~0git branch --contains <sha1>

这与创建标签的分支无关,而是与当前引用所述标签的分支无关。


ama*_*loy 6

没有这样的事。标签指向提交,分支指向提交。单个提交可以指向数十个不同的分支(或者是其父分支);无法将一个特定分支缩小为“此标签的所有者”。在获取分支之前,该分支可能已从上游删除,并且仅保留提交,这是这不起作用的另一个示例。

  • “单个提交可以指向数十个不同的分支(或成为其父分支)”的优点。 (4认同)