Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何获取在GIT中创建标记的特定分支的名称_Git_Tags_Branch - Fatal编程技术网

如何获取在GIT中创建标记的特定分支的名称

如何获取在GIT中创建标记的特定分支的名称,git,tags,branch,Git,Tags,Branch,我知道git命令git branch-contains可以显示在哪些分支上可以找到标记。但输出包括所有子/子分支。例如: master ---------------------------- | \ tag_X \ \ ------------------ branch_A | \ tag_Y

我知道git命令git branch-contains可以显示在哪些分支上可以找到标记。但输出包括所有子/子分支。例如:

master ----------------------------
          |    \
        tag_X   \
                 \
                  ------------------ branch_A
                    |      \
                   tag_Y    \
                             \
                              --------------- branch_B
当我们运行git branch-contains标记时,我们将得到

branch_A
branch_B
master
虽然标记_X是在主节点上创建的,但不是分支_A和分支_B

git中是否有任何命令仅显示最初创建标记的特定分支,不包括所有子/子分支?如果没有,您知道如何从日志、状态等解析它吗?
谢谢

Git不存储这些。标记只是指向提交的名称。如果查看.git/refs/tags,您将看到一个文本文件,其中包含每个标记的提交引用


由于多个分支可以共享同一个提交,因此一个标记可以属于多个分支。也无法从日志中获取,因为存储的唯一内容是相关的提交。

Git不存储该内容。标记只是指向提交的名称。如果查看.git/refs/tags,您将看到一个文本文件,其中包含每个标记的提交引用

由于多个分支可以共享同一个提交,因此一个标记可以属于多个分支。也无法从日志中获取,因为存储的唯一内容是相关的提交。

您是如何尝试的

git分支-包含

不确定它是否与标记名一起工作,您可能需要进行git显示以获取关联的哈希

摘自你是如何尝试的

git分支-包含

不确定它是否与标记名一起工作,您可能需要进行git显示以获取关联的哈希


摘自

Jarryd,感谢您的回复。我发现最初创建标记的特定分支显示为git分支底部的第一个分支-包含标记输出。其余的分支,如果它们存在的话,只是继承相同标签的分支的子分支。我不确定这是否在所有情况下都有效。如果你从一根树枝开始,然后做了几个叉子,这是有道理的;您可以想象它沿着提交树走下去,当它到达提交时,它所在的分支首先被输出。但是,如果您有两个交叉的分支,因为您在多个点将它们合并到了一起,那会怎么样呢?我得试试看。另一件事是在您的示例中,如果您在branch_A上创建了tag_X,它仍然会在-contains.Jarryd的列表中首先打印master,谢谢您的回复。我发现最初创建标记的特定分支显示为git分支底部的第一个分支-包含标记输出。其余的分支,如果它们存在的话,只是继承相同标签的分支的子分支。我不确定这是否在所有情况下都有效。如果你从一根树枝开始,然后做了几个叉子,这是有道理的;您可以想象它沿着提交树走下去,当它到达提交时,它所在的分支首先被输出。但是,如果您有两个交叉的分支,因为您在多个点将它们合并到了一起,那会怎么样呢?我得试试看。另一件事是在您的示例中,如果您在分支上创建了标记,它仍然会在-contains的列表中首先打印master。Olivier,我发现使用关联的散列与使用标记名提供相同的输出,即不提供特定的分支。但是谢谢你的回复!Olivier,我发现使用关联的散列与使用标记名得到相同的输出,即不给出特定的分支。但是谢谢你的回复!