如何恢复合并



我已经分配了一个存储库,然后进行了一些更改,然后将其推入我的主分支。然后,我从我分叉的仓库中获取了更改,并将其合并到了我的主人中。我有很多合并冲突。我将它们全部修复了,除了代码中的某个地方,我错过了IMP更改。我没有推动这种变化,也没有承诺。我该如何恢复合并?我分叉的仓库中的提交是旧的,我的仓库有我的新提交。

如果我正确阅读了您的问题,您将某些内容合并到master中,但是有某种问题,您想取消合并并可能重新开始。在这种情况下,我认为您可以摆脱以下内容:

git reset --hard HEAD

因为您还没有承诺任何事情,因此合并的唯一真正影响是您的工作直接文件,甚至可能是您的阶段,从合并中"肮脏"。在尝试合并之前,上面的命令将重置工作并将文件划分为他们在Head Commit中所处的状态。但是您的分支机构的实际历史尚未改变,因此您在这方面很安全。

如果您很好奇,如果您进行了合并,可能会与现在的其他工作合并,那么您可以使用git rebase来直接提交。考虑以下图:

... A --- B --- C --- F ...  master
                    /
      --- D --- E ---        feature

在这里,feature在COM A处与master差异,但随后合并为Merge Commit F中的master。现在您要删除该合并提交。您可以将master反弹以提交A如下:

git rebase <SHA-1 of commit A>

git将重播A顶部master的所有提交,但是它将忽略 在F上发生的合并提交。默认的行为是忽略合并提交并遵循主要父母的路径,因此这是处理这种情况的一种方法。

最新更新