您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關git中merge與rebase的區別是什么,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
接Git分支創建與合并,在分支合并時,有兩種方式:git merge 和git rebase。
git merge:將兩個分支,合并提交為一個新提交,并且新提交有2個parent。
git rebase:會取消分支中的每個提交,并把他們臨時存放,然后把當前分支更新到最新的origin分支,最后再把所有提交應用到分支上。
git merge
具體操作:bob在index1.html中修改2次,并提交到遠程倉庫;lilei在index.html中修改2次,并提交到遠程倉庫;bob拉取遠程倉庫(git fetch origin dev),merge合并。分支結構如下:
由此可見,兩個分支進行了合并,并且93a6d33提交有2個parent(135b375和8b61b04)。
git rebase
具體操作:lilei在index.html中修改2次,并提交到遠程倉庫;bob在index1.html中修改2次,并提交,拉取遠程倉庫(git fetch origin dev),rebase合并。命令行輸出如下:
首先將HEAD指針移到當前origin分支頂部,然后再應用所有提交到當前分支。分支結構(呈直線型)如下:
可以看出,rebase時,當前分支在135b375共有祖先的基礎上,將191b8cd、00e08ec及后續2次提交,共計4個提交撤銷。然后將HEAD移到322ca9提交上,再將4個提交重新應用到分支上。
關于git中merge與rebase的區別是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。