2016-02-26 140 views
6

我意外地合併了一個分支,並且選中了「立即推送更改」。不幸的是我犯了一個合併錯誤,現在我不想做出反向提交來刪除它。不過我每次做一次SourceTree我得到以下錯誤:Git反向提交SourceTree中的推送合併

error: Commit X is a merge but no -m option was given. fatal: revert failed

有沒有辦法做到這一點還是我必須使用終端呢?一直在讀它,但無法找到解決這個特定情況。

回答

3

您可以找到有關如何將分支(或主分支)恢復到合併之前的狀態(硬回覆)的答案。如果可以將一切恢復到該狀態,那就沒問題。但通常我必須恢復功能分支的合併,同時保留合併後提交的提交。

只要做到:

git revert -m 1 [copy-paste-the-id-of-the-merge-commit-here] 

如果必要的話,編輯衝突和提交。

編輯:是的,如果您要撤消合併提交,SourceTree應該傳遞-m 1參數。

2

您可能需要右鍵單擊最新的承諾,並單擊:

「重置當前分支這一承諾」

enter image description here

並在提示時選擇困難模式。

enter image description here

重要提示: 所有工作副本的修改將在點擊困難模式被丟棄。

希望這會有所幫助!

乾杯!