Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Merge 如何合并已还原的更改?_Merge_Mercurial - Fatal编程技术网

Merge 如何合并已还原的更改?

Merge 如何合并已还原的更改?,merge,mercurial,Merge,Mercurial,我有以下情况,一个大的变化被错误地推到了主分支(它应该被推到一个新分支)。在互联网上搜索(主要是这样)表明,撤销的唯一方法是恢复到以前的版本,所以我这样做了。然后,我从修订版开始了一个新的分支,该修订版错误地发布到了主版本 现在的问题是我无法合并主分支和新分支,因为这会导致新分支中的许多必要文件被删除。在将新分支与主分支合并时,是否有某种方法可以阻止这些文件进入新分支 ? |\ E F | | C D |/ B | A A、 B、C、E-主要分支机构 D、 F-基于修订版B的其他分支机构 C-

我有以下情况,一个大的变化被错误地推到了主分支(它应该被推到一个新分支)。在互联网上搜索(主要是这样)表明,撤销的唯一方法是恢复到以前的版本,所以我这样做了。然后,我从修订版开始了一个新的分支,该修订版错误地发布到了主版本

现在的问题是我无法合并主分支和新分支,因为这会导致新分支中的许多必要文件被删除。在将新分支与主分支合并时,是否有某种方法可以阻止这些文件进入新分支

?
|\
E F
| |
C D
|/
B
|
A
A、 B、C、E-主要分支机构

D、 F-基于修订版B的其他分支机构

C-从B恢复到A


?-我想保留来自D,F分支的更改,但我不能,因为我在修订版C中还原了大部分更改,我假设不是“还原”,而是“退出”?所以我假设‘C’是‘B’的后援

您可以执行以下操作:

  • 再次退出“C”。这将“backout the backout”,因此它将恢复“B”的内容(您可能需要在此处进行一些合并)
  • 在对“C”进行回退之后,您应该能够从新分支进行合并

  • 我很确定我以前使用的是
    revert
    而不是
    backout
    ,但是您的解决方案很有效。我的意思是,我再次使用了
    revert
    ,但按照您上面描述的方式,现在我可以合并所有内容。啊,是的,您可能还原了所有文件,然后提交了这些文件。”hg backout基本上是“commit与commit X相反”。如果该提交是您执行的最后一次提交,则恢复所有文件将具有相同的效果。