git 分支分叉case分析及問題解決【xxx have diverged】
阿新 • • 發佈:2021-07-14
背景
新開發的程式碼,合入到遠端master之後,沒有生效。定位到spark服務,在切換分支的時候,遇到branch 分叉;導致依然使用舊程式碼。
切換分支到master時依然遇到xxx have diverged問題
伺服器本地master分支
...→ ee5e335 → e0bb521→6743abc
遠端master分支
...→ ee5e335→b393d39→7e627cc→c525029→e5e57c4→239a606→91f0a9a→7f2a75e→a0f0494
這樣的後果
伺服器本地checkout 到master的程式碼,不能與遠端master同步。依然是舊程式碼
怎麼解決這個問題
- 直接在伺服器上刪除程式碼目錄,重新獲取程式碼git,這樣將本地與遠端程式碼保持了一致;
- 在本地強制獲取遠端程式碼; git pull origin master
- 這樣操作會把原生代碼與遠端程式碼進行merge
- 最終提交變為:..→ ee5e335 → e0bb521→6743abc→b393d39→7e627cc→c525029→e5e57c4→239a606→91f0a9a→7f2a75e→a0f0494