天天看點

Git 處理分支沖突 rebase

rebase

比如你建立了分支開發新功能,另一個人fork了項目做了送出。現在如果那個送出和你相關,那麼需要把那個提×××并到本地,

這時就會使用 rebase或者merge

rebse黃金法則: 不要在公共分支 erbase

1、merge 
git checkout feature
git merge master
将master分支合并到feature分支最簡單的方式,缺點是會把合并commit上去,造成分支結構混亂

2、rebase
git checkout feature
git rebase master
将master每個送出,建立了送出,重寫了曆史,分支結構一條線很直覺

3、互動式rebase
git checkout feature
git rebase -i master
它會打開一個文本編輯器,顯示所有将被移動的送出
           

解決分支沖突示例

當時我送出merge後,主分支提示不能合并,有沖突(以前我的做法是關閉merge,删除整個項目在fork一份............)

git pull --rebase sre master      #檢視沖突
git mergetool                            #解決沖突,vimdiff回車
git rebase --continue               #解決完之後分支繼續
           
Git 處理分支沖突 rebase
上面的檔案可以删除
再用原有分支強制push下,git push tengxun daily   即可
           

轉載于:https://blog.51cto.com/tengxiansheng/2108287