項目描述:git
本地有master分支,dev分支。從dev分支中新建了三個任務,小1,小2,小3。這三個任務完成後感受沒問題了,就勤快的把它們都合併到了dev分支中。開開心心去睡覺了。spa
次日,項目經理說小1,小2都很差看,如今只要小3,你把小3合併到dev推送到遠程吧!個人天哪!這應該怎麼辦。。。日誌
在dev建立了三個分支小1,小2,小3rem
每個分支都建立了本身的文件夾如圖it
而後都提交了本地代碼如圖,依次提交小1,小2,小3,三個分支三個顏色,而後按照順序展現,這個圖仍是不錯的。ast
如今就是合併代碼了,用dev去合併小1,小2,小3。class
工做目錄裏就有了小1,小2,小3。im
而後就是刪除小1,小2,小3分支。項目
好了如今怎麼辦!領導說dev裏只能有小3!img
解決思路:
首先要回滾到最初建立這三個分支的起點那裏,而後就是把小3分支恢復出來,在單獨合併一下小3分支就能夠啦。
一、回滾的命令很是簡單,目標也就是圖中備註爲工做的那個節點(6e5b23e)。
git reset --hard 6e5b23e
二、找回小3的分支。你如今都沒有日誌,因此須要一個能看全部日誌的命令 reflog
git reflog
這裏找到了小3的提交id,就用它檢出一下小3來。
git checkout c08e83a
他這裏的意思是如今是一個遊離的狀態,讓新創建一個分支,命令都給寫好了。git checkout -b 新的分支名字
git checkout -b 新小3
這樣小3的分支就恢復回來啦!
而後再進新dev的合併就能夠了!大功告成!