從一個分支A切換到另一個分支B后,對切換后的B分支進行pull操作,因為pull操作實際上包含了fetch+merge操作,在執行 merge操作時,由於很長時間沒有對B分支執行過pull/merge操作,本地的B分支庫與remote中的B分支庫中的差異很大(且這些差異是其他 同事開發的文件),merge時產生沖突,使得B分支的狀態為merging,其實是指merge失敗,還停留在merge狀態,也不能執行pull操 作。這時沒有解決沖突,而是從B分支上執行checkout/switchto操作,試圖再切換其他分支時,報錯,顯示有沖突。
原因為:merge失敗,有conflicts沒解決,可以:
1、解決conflicts后再次執行merge;
2、回退到merge前
恩,既然merge沖突是其他同事的文件,我不需要去resolve conflicts,那就退回merge前吧,單純的改我的文件再push吧,執行以下代碼:
git reset --merge
https://stackoverflow.com/questions/6006737/git-merge-errors