如何删除Git合并?

How do I delete a Git merge?

本问题已经有最佳答案,请猛点这里访问。

我有点左右为难。我不小心在两个Git存储库之间合并了代码。无论出于什么原因,回购协议的名称都是相同的,而且在我了解它之前,回购协议的一个URL发生了变化。所以我最终合并了两个不同项目的代码。下面是来自存储库提交的示例。

Merged repo

我没有命名任何分支(一直在研究头部)。如何删除其中一个提交(特别是橙色提交)?


你可以这样做:

1
git reset --hard 628612ac

如果您确定当前工作副本中没有您需要的任何内容。这将使HEAD成为合并前的承诺。实际上没有删除任何内容-其他提交变得不可访问,将来某个时候将被垃圾收集。

另一种选择是使用git-revert

1
git revert -m 1 e90aeed8

这将保持你的历史。它创建了一个新的提交,恢复e90ae…做。

下面是一篇关于这个主题的好文章:https://www.kernel.org/pub/software/scm/git/docs/howto/revert-a-faulty-merge.txt

还有这里:http://git-scm.com/2010/03/02/undoing-merges.html