2015-11-03 143 views
0

我有兩個git分支(master和fix_log_messages)。我一直在fix_log_messages分支中進行各種提交,然後定期將這些更改/提交合併到master中。因此,由於將fix_log_messages分支定期合併到主分支中,主分支包含多個合併。撤消多個git合併

我現在需要從master分支中刪除屬於fix_log_messages分支的所有提交。換句話說,我需要撤消多個合併。我知道我可以使用git revert -m 1 <merge-commit>恢復一個合併。但是,在分支上刪除多個合併的工作流程是什麼?

僅供參考 - 對主設備的更改已推送至遠程設備。所有合併均使用git merge --no-ff fix_log_messages進行。

+0

除了合併提交以外,還有'master'提交了哪些內容?還是合併'master'上唯一的額外提交?這兩種情況的做法是完全不同的...... – twalberg

回答

0

您可以使用git log來查看您要撤消的主分支的提交數量。如果,例如,要回滾6個提交,只需鍵入:

git reset --hard HEAD~6 

如果你想恢復您的合併狀態,您可以使用reflog看到提交最後的ID提交在原來的主分支,然後檢查出來。