1

我目前正在从事一个有两个阶段的项目,其中一个将在以后放弃。第 2 阶段的开发必须开始,但第 1 阶段的错误修复将在此期间进行。我想从第 1 阶段的 repo 分支开始第 2 阶段的工作,但许多文件将不再需要。我需要将所做的任何更改集成到阶段 2 分支中,但我不希望重复删除与我不再相关的文件的麻烦,换句话说,我只想合并我们有共同文件的更改。

让我用一个例子来说明,假设我在这个 repo 中有我的第一阶段工作:

Phase1 - a.txt - b.txt

然后我分支到第 2 阶段,并删除 a.txt,因为我不再需要它:

阶段 2 - b.txt

现在让我们说作为阶段 1 错误修复的一部分,a.txt 和 b.txt 都已更新。我只关心 b.txt,但如果我进行合并,我会得到:+N a.txt.OTHER M b.txt

有没有办法在集市上做到这一点?

4

1 回答 1

3

是的,如果您开始使用Daggy Fixes 模式mirror),则可以通过 Bazaar 实现。

因此,您需要记住阶段 2 分支中有哪些文件,并在阶段 1 和阶段 2 通用的单独分支中对它们进行修复,并将这些修复合并到两个阶段中。

使用您的示例:

1)你需要修复文件a.txt中的问题——你可以直接在阶段1(b1)的原始分支中工作,你不应该再从这个分支合并到分支阶段2(b2)。

2)您只需要修复文件 b.txt 的问题 - 您使特殊的错误修复分支尽可能接近引入 b.txt 错误的修订版,您必须在修订版之前从修订版创建错误修复分支,其中分支阶段2已经开始。完成修复后,您需要将错误修复分支合并到 b1 和 b2 分支中。

3) 您需要解决与 a.txt 和 b.txt 相关的问题。在这种情况下,可能不需要这样的错误修复来将其合并到 b2 中。在这种情况下,您可以使用上面的变体 1。如果某些更改对 b2 仍然很重要,您需要使用上面的变体 2 来开始修复 b.txt,然后将修复合并到 b1 和 b2 分支并继续处理 a.txt 的修复。

于 2009-07-04T12:07:13.530 回答