我想知道在 Git 中是否可以检索标签列表(很像git tag
命令的结果),但该列表应该仅限于某个分支。
如果这是可能的,任何人都可以解释这是如何完成的吗?也许有一些模式匹配的魔法?
我认为这会做你想要的:
git log --pretty='%H' <branch> |
xargs -n1 git describe --tags --exact-match 2>/dev/null
这用于git log
获取分支中的提交列表,然后将它们传递git describe
给查看它们是否对应于标签。
--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
为对象。