2013-05-20 93 views
2

我有点尴尬。我意外地在两个Git存储库之间合并了代码。无论出于何种原因,回购股票的名称都是相同的,并且在我开始了解回购股票之前,其中一个回购网站的网址已经更改。所以我最终合并了来自两个不同项目的代码。以下是库提交中的插图。如何删除Git合并?

Merged repo

我没有任何名为分支(一直以来的工作HEAD)。如何删除其中一个提交(特别是橙色提交)?

回答

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

+0

谢谢! git revert在本地执行了这个技巧,并且git reset - 在远程repo上工作。链接确实非常有用! –