我目前正在开发一个有两个阶段的项目,其中一个阶段将在以后删除。第2阶段的开发必须开始,但第1阶段的错误修复将在此期间进行。我想从第1阶段回购分支到第2阶段工作开始,但不再需要许多文件。我需要集成对第2阶段分支所做的任何更改,但我不想重复删除与我不相关的文件的麻烦,换句话说,我只想合并我们有共同文件的更改。
让我举一个例子,让我说我的第一阶段在这个回购中工作:
阶段1 - a.txt - b.txt
然后我转到第2阶段,并删除a.txt,因为我不再需要它:
2阶段 - b.txt
现在假设作为第1阶段错误修复的一部分,a.txt和b.txt都会更新。我只关心b.txt,但是如果我合并我会得到: + N a.txt.OTHER M b.txt
有没有办法用集市做这件事?
答案 0 :(得分:3)
是的,如果您开始使用Daggy Fixes pattern(mirror),可以通过Bazaar实现。
因此,您需要记住第2阶段分支中的哪些文件,并在第1阶段和阶段2的单独分支中对它们进行修复,并将这些修复合并到两个阶段。
使用您的示例:
1)你需要修复文件a.txt中的问题 - 你可以直接在阶段1(b1)的原始分支中工作,你不应该再从这个分支合并到分支阶段2(b2)。
2)你只需修复文件b.txt的问题 - 你做了特殊的bug修复分支,尽可能接近修改版本,其中引入了b.txt的bug,你必须在修订之前从修订版创建bugfix分支分支阶段2已经开始。完成修复后,需要将bugfix分支合并到b1和b2分支中。
3)您需要修复与a.txt和b.txt相关的问题。在这种情况下,可能不需要这样的错误修复将其合并到b2中。在这种情况下,您可以使用上面的变体1。如果某些更改对于b2仍然很重要,则需要使用上面的变体2来启动b.txt的修复,然后将修复程序合并到b1和b2分支中并继续处理a.txt的修复。