【问题标题】:Create a branch from branch x, merge branch x to its parent branch and delete it. What happens to the created branch?从分支 x 创建一个分支,将分支 x 合并到其父分支并删除它。创建的分支会发生什么?
【发布时间】:2020-05-06 11:14:39
【问题描述】:

我的分支结构是这样的:

---master---feature(commit-x)---task1(commit-y)---task2---

由于task1已经完成,我想把分支合并到feature分支并删除。

在这种情况下,task2 分支会发生什么?

我认为结构是:

---master---(commit-x)---(commit-y)---task2---
                 |
                 |---feature(merged on task1)

但是,稍后在完成task2 后,我想将其合并到feature 分支上。

我该如何做到这一点,请建议?

【问题讨论】:

标签: git git-branch git-merge


【解决方案1】:

在这种情况下,task2 分支会发生什么?

什么都没有。 task2 将继续指向它之前指向的同一提交。事实上,task1 也不会改变,会指向同一个地方。只有feature 会改变(它将有一个包含合并内容的新提交)。

但是,稍后在完成 task2 后,我想将其合并到 feature 分支上。

task2 合并到feature 中,就像使用task1 一样。同样,task 的两个分支都将保持不变,feature 现在将在 task1 合并之后包含 task2 的合并。

【讨论】:

  • 诀窍在于理解分支只是指向修订的指针。因此,它们可以被创建、移动、重命名或删除,并且不会影响它们指向的修订版
  • 诀窍是要理解“分支”这个词在 git 中至少意味着 2 个不同的东西。第一,一个分支是一个提交链,是 DAG 的一部分。第二个分支是提交的标签。 “删除分支”会删除标签,但不会删除提交链。
  • @Winter 如果您不接受并回答,请输入您这样做的原因。
猜你喜欢
  • 2020-11-14
  • 2013-11-14
  • 2021-06-27
  • 1970-01-01
  • 2015-10-30
  • 2017-10-11
  • 1970-01-01
  • 2020-10-11
  • 2014-10-02
相关资源
最近更新 更多