【问题标题】:Merging Branch A into Master Branch将分支 A 合并到主分支
【发布时间】:2015-06-23 04:25:30
【问题描述】:

我为某个存储库的一个分支做出了巨大贡献。那么如果其他人将该分支合并到主分支中,我的贡献会丢失吗?

例如:我对分支 A 做了 100 次提交,如果其他人将分支 A 合并到主分支中,我在分支 A 中的 100 次提交是否会在合并后显示在主分支中?

我在 Github 上。

最好的问候

【问题讨论】:

    标签: git github merge branch


    【解决方案1】:

    直接回答是“是”,但有一些微妙之处:

    “合并”命令将查看分支 A 和主分支之间的所有差异,并将这些修改应用于主分支。它将在包含所有这些修改的主分支上创建一个提交。

    如果你想在 master 分支上应用分支 A 的每一个提交,你需要使用“rebase”命令。它将查看分支 A 上的提交,并在主分支上应用所有这些提交的副本。

    您可以决定是只检索分支 A 的最终状态,还是按照正确的顺序完成所有修改。

    【讨论】:

    • 所以我的提交将在 Commits 部分可见,而 Contributions 将在 Master 分支的贡献者部分可见,是吗?
    • 当然。这是版本控制系统的主要功能之一。
    【解决方案2】:

    这正是合并的作用。在合并之前,您的历史记录类似于

    D          (master)
    |
    C  E100    (branchA)
    |  .
    |  .
    |  .   
    B  E1
    | /
    A
    

    合并后的样子

    E             (master)
    | \
    D  |
    |  |
    C  E100       (branchA)
    |  .
    |  .
    |  .   
    B  E1
    | /
    A
    

    无论您之后是否删除 branchA,提交 E1 到 E100 将始终可以通过提交 E 访问。(请记住,删除分支只会删除指向提交的指针,而不是提交本身。)

    【讨论】:

    • 所以这意味着我来自分支 A 的贡献/提交将在合并后的提交和贡献者部分下的主分支中可见,对吗?
    【解决方案3】:

    是的。 合并后,分支的名称无关紧要,因为它只是一个标签,指向您所做的最后一次提交,它与 master 相同,因此“无用”。

    您的问题实际上并不清楚,但 git 确保您永远不会丢失已提交的更改。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-26
      • 2016-11-20
      • 2013-11-14
      • 2017-08-14
      • 1970-01-01
      • 2021-10-24
      相关资源
      最近更新 更多