【问题标题】:how to find which github branch tag is created from?如何找到从哪个 github 分支标签创建的?
【发布时间】:2021-03-03 02:44:27
【问题描述】:

我想找出是从哪个分支标签创建的? 我有克隆标签并运行以下命令,但它返回两个分支。 标签可以从一个分支生成我不知道为什么它返回两个分支。

我执行了以下命令

  • git branch -a --contains v1.0.0.0.1

它返回两个分支。我从为什么返回两个分支创建标签? 遥控器/来源/开发-通用请求 遥控器/origin/release-dev

【问题讨论】:

    标签: git tags


    【解决方案1】:

    标签只是对提交的引用,它与分支无关。一个提交可能是许多分支历史的一部分,或者根本没有。

    考虑:

    • 我从一个空的仓库开始。我创建 hello_world.txt 并提交它,它成为master 分支的第一个提交。
    • 我修改了 hello_world.txt 文件并添加了一些文本。我在master 上再次提交了该更改
    • 我用标签hi 标记最近的提交
    • 我从当前状态创建了一个名为development 的新分支。此时,developmentmaster 分支都包含相同的提交历史记录
    • 我继续对masterdevelopment 进行新的提交,但我添加的tag 将显示在两个分支中,以及在标记分支处或之后提交的任何新分支.

    我敢肯定,如果您检查每个分支,您会发现您的标签所引用的提交存在于两者的历史记录中。如果你把它想象成一个树枝,那么标签一定在两个分支之间“分裂”发生之前就已经存在了。

    【讨论】:

    • 带着和OP一样的问题来到这里,感谢您的澄清。
    【解决方案2】:

    git branch -a --contains v1.0.0.0.1

    此命令正在查询所有包含现有标签v1.0.0.0.1 的git 分支。它返回两个分支,因为它们都包含此标记指向的提交。

    来自the official 'git branch' doc

    使用--contains,只显示包含命名提交的分支 (换句话说,尖端提交的分支是 命名提交),

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-28
      • 1970-01-01
      相关资源
      最近更新 更多