Git如何撤銷某次分支的合併Merge
問題
某天,所有的開發檔案已經在dev分支上,但是這時候,線上出了一個問題,需要及時修復,於是從master分支上,拉了一個bug分支,進行處理,master分支本應合併bug分支,結果合併了dev分支,而且還commit,並推到了遠端的master分支,這時候才發現出了問題,於是乎,問題就來了
方法
1.找到最後一次提交到master分支的commit_id,即merge前的commit_id,也就是目標要回退到的commit_id
2.執行回退
git reset --hard commit_id
#執行完成後,此時本地已經回退到了上一次提交的版本,但是遠端仍然是被改變的版本。
3.重新建立一個分支,這時候的分支就是上一次提交的程式碼
git checkout -b newmaster
4.推到對應的遠端newmaster
git push origin newmaster:newmaster
5.這個時候相當於備份做好了,接下來就可以刪除本地及遠端的master分支
git branch -d master
git push --delete origin master
6.從newmaster分支,重新在建立master分支,並推向遠端
git checkout -b master origin/newmaster
git push master:master
7.done!
相關文章
- Git 優雅的撤銷中間某次提交(包括 merge)Git
- 合併分支:Git merge 和 rebase 的區別Git
- git進階(撤銷pull、撤銷merge、撤銷add)Git
- Git merge和rebase分支合併命令的區別Git
- git合併分支Git
- Git 分支 - 分支的新建與合併Git
- Git -- 分支與合併 (命令列+視覺化工具p4merge)Git命令列視覺化
- git 分支合併報錯Git
- 如何撤銷 Git 操作?Git
- 這才是真正的 Git——分支合併Git
- 使用分支——Git Merge命令Git
- 保姆級教程 | Merge Request 分支合併請求
- git 知識之分支合併Git
- git合併分支,如果選擇性的合併檔案?Git
- Git dev分支合併到master分支完美實戰GitdevAST
- 教你玩轉Git-分支合併Git
- git合併分支和提交步驟Git
- 撤銷git addGit
- git合併分支並處理衝突Git
- git分支管理--rebase&merge詳解Git
- git合併單個檔案到其他分支Git
- 撤銷 git commit --amendGitMIT
- Git命令(撤銷更改)Git
- Git中撤銷提交Git
- 撤銷 git commit –amendGitMIT
- 簡單介紹Git合併分支的流程步驟Git
- git 中撤銷已commit 的GitMIT
- git merge合併程式碼時各引數含義Git
- 使用 Git 撤銷 Commit,但未 Git Push 的命令GitMIT
- 【Git】合併分支報衝突怎麼解決Git
- 【Git】3. Git重要特性-分支操作,合併衝突詳解Git
- git合併某分支上的單次提交(cherry-pick)Git
- git 撤銷相關操作Git
- 撤銷rebase與git原理Git
- git各種撤銷提交Git
- [ Git ] 不同場景下如何使用「撤銷」操作Git
- Git - 如何取消正在的合併Git
- git更新原生代碼分支並將其合併到master分支的完整流程GitAST