3

我有点进退两难。我不小心在两个 Git 存储库之间合并了代码。无论出于何种原因,repo 名称都是相同的,并且在我知道之前,repo 的 URL 之一已经更改。所以我最终合并了来自两个不同项目的代码。这是来自存储库提交的插图。

合并回购

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

4

1 回答 1

2

你可以做:

git reset --hard 628612ac

如果您确定当前工作副本中没有您需要的任何内容。这将把它放到HEAD合并之前的提交中。实际上什么都没有被删除 - 其他提交变得无法访问,并且将来某个时候将被垃圾收集。

另一种选择是使用git-revert

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

于 2013-05-20T04:31:01.533 回答