Git怎樣撤銷一次分支的合併Merge

2021-07-10 17:21:39 字數 751 閱讀 3343

最近用git,merge之後寫的**全沒了,瞬間懵逼,找到這個解決辦法,靠譜,先記下來

如果確定放棄這次合併的提交,假如是 merge 了錯誤的分支到 master,先通過git reflog或者 gitg、gitk、qgit 等工具確定你 merge 之前 master 所在的 commit,然後在 master 分支上使用git reset --hard重置頭指標。一般來說,在 master 上直接執行git reset --hard head~也可以回到合併之前的提交,但git reset --hard命令還是使用確定的 commit 為好。注意,git reset --hard命令有風險,除非十分確定要放棄當前提交,否則最好先git branch為當前的提交建立個新的分支引用後再繼續,待確定無誤後刪除即可。

如果錯誤的合併之後又有了新的提交,可以在完成前述正確的合併之後,通過git rebase --onto 《錯誤的合併提交》 《正確的合併提交》 《新提交所在分支》來在正確的合併提交上重建新的提交。git rebase --onto命令所重建的提交序列最好是線性的,否則非線性的提交會變成線性的。若需要儲存非線性的提交歷史,可以考慮使用--preserve-merges引數,不過結果很不可靠,具體視提交的非線性程度而定。

techlivezheng

1.9k 聲望

Git怎樣撤銷一次分支的合併Merge

出現的問題 某一天,所有的開發檔案已經在development分支上,但是這時候,線上出了乙個問題,需要及時修復,於是從master分支上,拉了乙個bug分支,進行處理,master分支本應合併bug分支,結果合併了dev分支,而且還commit,並推到了遠端的master分支,這時候才發現出了問題...

qt撤銷與回退 Git撤銷某次分支的合併Merge

問題 某天,所有的開發檔案已經在dev分支上,但是這時候,線上出了乙個問題,需要及時修復,於是從master分支上,拉了乙個bug分支,進行處理,master分支本應合併bug分支,結果合併了dev分支,而且還commit,並推到了遠端的master分支,這時候才發現出了問題,於是乎,問題就來了 方...

一次Git撤銷錯誤的Merge

title once git merge mistake solve date 2018 04 20 23 37 00 tags 2018.4.20 簡述 merge錯了乙個分支到測試分支上,發現後沒有push。要撤銷這次merge。解決 源於同事的友情幫助 bash 命令 檢查 git statu...