git版本回滾,分支刪除後恢復,多分支合併後剔除某個分支。

項目描述: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的合併就能夠了!大功告成!

相關文章
相關標籤/搜索