為什麼要使用git pull --rebase?
阿新 • • 發佈:2021-01-19
1.git pull
git pull = git fetch + git merge FETCH_HEAD
git pull --rebase = git fetch + git rebase FETCH_HEAD
2.merge 和 rebase
現在我們有這樣的兩個分支,test和master,提交如下:
D---E test
/
A---B---C---F--- master
在master執行git merge test,然後會得到如下結果:
D--------E / \ A---B---C---F----G--- test, master
在master執行git rebase test,然後得到如下結果:
A---B---D---E---C‘---F‘--- test, master
merge操作會生成一個新的節點,之前的提交分開顯示。
而rebase操作不會生成新的節點,是將兩個分支融合成一個線性的提交。
3.rebase好處
想要更好的提交樹,使用rebase操作會更好一點。
這樣可以線性的看到每一次提交,並且沒有增加提交節點。
merge 操作遇到衝突的時候,當前merge不能繼續進行下去。手動修改衝突內容後,add 修改,commit 就可以了。
而rebase 操作的話,會中斷rebase,同時會提示去解決衝突。
解決衝突後,將修改add後執行git rebase –continue繼續操作,或者git rebase –skip忽略衝突。
作者:GabrielPanda
連結:https://www.jianshu.com/p/dc367c8dca8e
來源:簡書
著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。