0

因此,我从 master 创建了一个新分支,并最终将更改合并回来,似乎只有一些更改合并了,而且似乎我在一个方向上合并了。最终,我只是决定确保 master 收到所有“实验性”更改,然后我删除了实验性分支并创建了一个新分支。所以这个问题突然变成了几个问题:

1)我如何匹配分支但将它们分开?

1a)不只是建立一个新分支是不好的做法吗?

2)为什么一次合并后分支不一样?

2a)我是否只应该在我想要进行所有更改的那个上调用合并?

4

1 回答 1

1

就实际而言,合并绝对是一种单向操作。它将一个分支合并到另一个分支。将实验合并到 master 后生成的历史将如下所示:

- o - o - o - o - o - X (master)
   \                 /
    o - o - o - o - o (experimental)

所以在一次合并之后,master 包含了在实验中所做的所有更改,但它们显然不一样。

我对“匹配但保持分开”的确切含义有点困惑。通常的做法是为某些特定目的(功能、错误修复......)创建主题分支,然后将其合并到需要实体的任何地方。例如,一个错误修复可能属于两个旧的维护版本以及当前的主版本,所以它会被合并到所有三个中。

我认为Junio Hamano 博客上的这篇文章(他是 git 的当前维护者)是我找到的关于何时应该合并以及何时不应该合并的最佳解释之一。它应该回答你的大部分哲学问题。

于 2010-07-26T17:16:20.523 回答