【发布时间】:2021-03-03 02:44:27
【问题描述】:
我想找出是从哪个分支标签创建的? 我有克隆标签并运行以下命令,但它返回两个分支。 标签可以从一个分支生成我不知道为什么它返回两个分支。
我执行了以下命令
- git branch -a --contains v1.0.0.0.1
它返回两个分支。我从为什么返回两个分支创建标签? 遥控器/来源/开发-通用请求 遥控器/origin/release-dev
【问题讨论】:
我想找出是从哪个分支标签创建的? 我有克隆标签并运行以下命令,但它返回两个分支。 标签可以从一个分支生成我不知道为什么它返回两个分支。
我执行了以下命令
它返回两个分支。我从为什么返回两个分支创建标签? 遥控器/来源/开发-通用请求 遥控器/origin/release-dev
【问题讨论】:
标签只是对提交的引用,它与分支无关。一个提交可能是许多分支历史的一部分,或者根本没有。
考虑:
master 分支的第一个提交。master 上再次提交了该更改
hi 标记最近的提交
development 的新分支。此时,development 和 master 分支都包含相同的提交历史记录master 和development 进行新的提交,但我添加的tag 将显示在两个分支中,以及在标记分支处或之后提交的任何新分支.我敢肯定,如果您检查每个分支,您会发现您的标签所引用的提交存在于两者的历史记录中。如果你把它想象成一个树枝,那么标签一定在两个分支之间“分裂”发生之前就已经存在了。
【讨论】:
git branch -a --contains v1.0.0.0.1
此命令正在查询所有包含现有标签v1.0.0.0.1 的git 分支。它返回两个分支,因为它们都包含此标记指向的提交。
来自the official 'git branch' doc:
使用--contains,只显示包含命名提交的分支 (换句话说,尖端提交的分支是 命名提交),
【讨论】: