在我们的源代码管理中,一次提交意外地解除了几个合并的更改分支。我假设发生的事情是开发人员将文件复制到源控件之外的另一个位置,在那里修改它们,将工作区更新到最新的变更集,然后复制到他的更改中。这有效地还原了对受影响文件的多处更改,但塑料只是将其视为常规代码更新。
有没有办法重新应用丢失的更改?只需选择' merge'给出消息"合并搜索已完成,合并目标已包含源更改。"因为塑料不知道这些变化已经丢失了。
答案 0 :(得分:1)
您需要从包含错误修订的错误更改集中运行减法合并。 Plastic SCM减法合并系统将撤消所有引入的内容,从而产生您在某个变更集之前所拥有的内容。
在上图中,我们需要删除变更集“92”所做的更改,想象这是您的同事介绍了错误修订的变更,另一方面我们需要保留“93”,“94”和“95”。
我们不能只回到“92”,因为我们会失去“93”,“94”和“95”。
以下是什么减法:96 = 91-92 + 93 + 94 + 95。
这也是一个非常强大的工具,可以“解体”任务。请参阅this。
首先,您需要将工作区切换到受影响的分支,然后您需要右键单击changeset 92,“高级合并 - >从此变更集减去合并”,继续处理合并操作你完成了,不好的变化就不存在了。最后,您只需要将结果签入存储库。
请注意合并操作如何建议您的同事更改为合并候选人的文件,所有这些更改都会自动撤消,因此您不需要重新合并源分支。