2013-05-20 126 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上工作。鏈接確實非常有用! –