如何在Mercurial中修复这个糟糕的Merge?

时间:2013-06-11 20:47:43

标签: mercurial merge branching-and-merging

Gprah capture

我有这种情况。首先,是的,我知道,我们正在直接在行李箱上工作,明天会改变(字面意思)。

这家伙合并代码并走过其他人的代码。我想提出1625 REV。有办法吗?我不在乎失去接下来的东西,他应该再次完成他的工作。

我正在考虑从1625年开始做分支。但是如果我想稍后合并默认会怎么样?我可以留在新分支中的所有内容吗?

2 个答案:

答案 0 :(得分:3)

基本上是这样的:查看好的版本,合并另一个头,恢复到好的版本,提交。

hg up -C <good>
hg merge <bad>
hg revert -r <good> --all
hg resolve -m #if necessary
hg ci -m kill-merge
hg diff -r <good> #should be empty

答案 1 :(得分:1)

试试这个食谱:

  1. 将您的repo克隆到repo-clone
  2. repo-clone更新为良好版本。
  3. 更新repo以提示修订。
  4. repo
  5. 中移除除.hg以外的所有内容
  6. 将.hg以外的所有内容从repo-clone复制到repo
  7. 使用repohg ci -A -m 'Backout bad merges'中提交。
  8. 最后一个命令将添加所有未跟踪的文件,并在提交之前忘记所有丢失的文件。使用此配方,您将获得与良好修订版完全相同的工作目录状态。