8

我想知道在 Git 中是否可以检索标签列表(很像git tag命令的结果),但该列表应该仅限于某个分支。

如果这是可能的,任何人都可以解释这是如何完成的吗?也许有一些模式匹配的魔法?

4

2 回答 2

6

我认为这会做你想要的:

 git log --pretty='%H' <branch> |
   xargs -n1 git describe --tags --exact-match 2>/dev/null

这用于git log获取分支中的提交列表,然后将它们传递git describe给查看它们是否对应于标签。

于 2012-05-15T14:48:04.580 回答
5

--merged使用新的 git 标签选项(在 git 2.7+,2015 年第四季度)可以使用另一种方法

git tag --merged <abranchname>

请参阅Karthik Nayak ( )的提交 5242860,...(2015 年 9 月 10 日) 。(由Junio C Hamano 合并 -- --提交 8a54523中,2015 年 10 月 5 日)KarthikNayak
gitster

tag.c:实现“--merged”和“--no-merged”选项

使用 ' ref-filter' API 将 ' --merged' 和 ' --no-merged' 选项实现到 ' tag.c' 中。

  • ' --merged' 选项允许用户仅列出合并到命名提交中的标签。
  • ' --no-merged' 选项允许用户仅列出未合并到命名提交中的标签。

如果没有提供对象,则假定HEAD为对象。

于 2015-10-07T12:02:09.083 回答