【问题标题】:Will git tag automatically move to main brach when merged?合并时git标签会自动移动到主分支吗?
【发布时间】:2021-08-05 16:13:41
【问题描述】:

我在 dev 分支中创建了一个 git 标签。但是如果我将它从 dev 合并到 main 分支,git标签是否也会自动添加到 main 中?

【问题讨论】:

    标签: git git-merge git-branch


    【解决方案1】:

    可能的误解 #1:

    标签不动。标签附加到特定的提交。如果您不以某种方式销毁该提交(这不是一件容易的事情),并且如果您不删除标签,则该标签将永远附加到该提交上。 (确实,只要不删除标签,提交就不能被销毁,这是标签的功能之一。)

    可能的误解 #2:

    提交不是“在”分支。一个分支命名一个提交,这就是它所适用的全部。如果您(和 Git)可以从给定的提交通过父链向后跟踪到某个其他提交,例如您的标签附加到的提交,那么我们可以说第二个提交是 可从首先。

    结论:

    我认为您的意思是您将标签附加到可从dev 访问的提交。因此,可以从dev 访问标记的提交。如果您随后使用真正的合并将dev 合并到main,那么根据合并的定义,现在也可以从main 访问标记的提交。

    【讨论】:

      【解决方案2】:

      您不能在分支中创建标签。

      将标签视为提交。提交是您的代码在特定时间的快照。它不依赖于任何分支,甚至不属于一个分支。也就是说,如果你删除了一个分支,你并没有删除任何提交(幸运的是)。

      分支只不过是一个指针。如果您多次提交到一个分支,指针会记住该分支上的先前提交,这只是一个(非常实用的)功能。但它只不过是一个指针。

      如果你合并 2 个分支,你真正要做的是将两个分支的代码合并到另一个提交中,即所谓的合并提交。如果您的标签是其中一个分支上的提交,则标签提交的代码(或至少是合并版本)将在合并提交中。

      为了让事情更清楚,假设您有一个分支,并且您在该分支“中”制作了一个标签。然后你删除分支。标签仍然存在,因为该提交不会被删除。

      【讨论】:

        猜你喜欢
        • 2016-11-08
        • 2012-04-20
        • 2022-11-25
        • 1970-01-01
        • 2010-11-20
        • 2017-12-15
        • 1970-01-01
        • 1970-01-01
        • 2012-12-18
        相关资源
        最近更新 更多