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 #解決完之後分支繼續
上面的文件可以刪除
再用原有分支強制push下,git push tengxun daily 即可