【问题标题】:Listing the tags in git from a specific branch列出来自特定分支的 git 中的标签
【发布时间】:2012-07-04 04:52:48
【问题描述】:

我已经使用 repo 同步到存储库(从头)并通过了一个名为 (mybranch) 的分支。我通过以下方式获得了 git 中的标签列表:

git tag -l

然后在正则表达式的帮助下,我获得了与特定模式匹配的标签。

是否可以获取这些入围标签的分支名称,然后仅从特定分支中选择标签?

我看到了 git 分支 -r 命令,但它也可以与标签名称一起使用吗?

【问题讨论】:

  • 你找到答案了吗here
  • 不,我想根据分支名称过滤标签
  • 标签的“分支名称”叫什么?
  • 可能会寻找指向分支引用的提交的标签。因此,一个标签可以属于多个分支。

标签: git tags repository


【解决方案1】:

假设您想要引用标记引用的提交的分支:

git branch --contains <tagname>

只需对您正在查看的分支的每个标签重复该命令:

git tag -l 'example*' |xargs -n1 git branch --contains

请注意,标签可以引用任何对象,不仅是提交,而且“分支”命令只需要提交。

【讨论】:

  • 当我执行命令 git branch -r 我得到一个所有分支的列表,但我想只选择一个特定的分支并选择属于该分支的标签
  • git tag -l 'example*' |while read tag; do git branch -a --contains "$tag" |grep 'that-branch' &gt;/dev/null &amp;&amp; echo "$tag"; done
  • 虽然速度很慢而且效果不佳
  • 更快:git tag -l |while read tag; do test $(git rev-list -n1 ^that-branch "$tag" |wc -l) = 0 &amp;&amp; echo $tag; done
  • 我最快的:git log --format='%d' that-branch |grep '^.' 列出也属于该分支的分支名称存在问题(图形方式)。并且标签名称用括号括起来。
猜你喜欢
  • 2013-10-02
  • 1970-01-01
  • 2018-11-27
  • 2019-04-13
  • 2020-01-14
  • 1970-01-01
  • 1970-01-01
  • 2018-08-08
  • 2022-11-22
相关资源
最近更新 更多