Git怎樣撤銷一次分支的合並Merge
出現的問題:
某一天,所有的開發文件已經在development分支上,但是這時候,線上出了一個問題,需要及時修復,於是從master分支上,拉了一個bug分支,進行處理,master分支本應合並bug分支,結果合並了dev分支,而且還commit,並推到了遠端的master分支,這時候才發現出了問題,於是乎,問題就來了
解決方法:
-
1.找到最后一次提交到master分支的版本號,即【merge前的版本號】
-
2.回退到某個版本號
git reset --hard 【merge前的版本號】
這個時候已經會退到了上一次提交的版本,但是之后的修改還是存在master分支上,以下步驟很關鍵
- 3.重新創建一個分支,這時候的分支就是上一次提交的代碼
git checkout -b newmaster
- 4.推到對應的遠程newmaster
git push
- 5.這個時候相當於備份做好了,接下來就可以刪除本地及遠端的master分支
git branch -d master
git push --delete origin master
- 6.從newmaster分支,重新在創建master分支,並推向遠端
git checkout newmaster
git checkout -b master
git push
- 7.大功告成!