我知道git命令“git branch --contains”可以显示可以找到标签的分支。但输出包括所有子/子分支。例如:
master ----------------------------
| \
tag_X \
\
------------------ branch_A
| \
tag_Y \
\
--------------- branch_B
当我们运行“git branch --contains tag_X”时,我们将获得
branch_A
branch_B
master
虽然tag_X是在master上创建的,而不是branch_A和branch_B
git中是否有任何命令只显示最初创建标记的特定分支,不包括所有子/子分支?如果没有,任何想法如何得到它(从日志,状态等解析)? 谢谢!
答案 0 :(得分:0)
Git不存储它。标记只是指向提交的名称。如果查看.git / refs / tags,您将看到一个包含每个标记的提交引用的文本文件。
由于多个分支可以共享相同的提交,因此标记可以属于多个分支。也没有办法从日志中获取,因为唯一存储的是相关提交。
答案 1 :(得分:0)
你是如何尝试的?
git branch --contains <commit>
不确定它是否适用于标记名称,您可能必须执行git show才能获取关联的哈希