1. 程式人生 > 其它 >git 分支分叉case分析及問題解決【xxx have diverged】

git 分支分叉case分析及問題解決【xxx have diverged】

背景

新開發的程式碼,合入到遠端master之後,沒有生效。定位到spark服務,在切換分支的時候,遇到branch 分叉;導致依然使用舊程式碼。

切換分支到master時依然遇到xxx have diverged問題

伺服器本地master分支

...→ ee5e335 → e0bb521→6743abc

遠端master分支

...→ ee5e335→b393d39→7e627cc→c525029→e5e57c4→239a606→91f0a9a→7f2a75e→a0f0494

這樣的後果

伺服器本地checkout 到master的程式碼,不能與遠端master同步。依然是舊程式碼

怎麼解決這個問題

  1. 直接在伺服器上刪除程式碼目錄,重新獲取程式碼git,這樣將本地與遠端程式碼保持了一致;
  2. 在本地強制獲取遠端程式碼; git pull origin master
    1. 這樣操作會把原生代碼與遠端程式碼進行merge
    2. 最終提交變為:..→ ee5e335 → e0bb521→6743abc→b393d39→7e627cc→c525029→e5e57c4→239a606→91f0a9a→7f2a75e→a0f0494