首頁 > 開發工具 > Git > 主體

git的merge與rebase的差別

(*-*)浩
發布: 2019-10-24 17:30:38
原創
9735 人瀏覽過

接Git分支建立與合併,在分支合併時,有兩種方式:git merge 和git rebase。

git的merge與rebase的差別

git merge:將兩個分支,合併提交為一個新提交,並且新提交有2個parent。

git rebase:會取消分支中的每個提交,並把他們暫時存放,然後把當前分支更新到最新的origin分支,最後再把所有提交應用到分支上。

git merge

#:bob在index1.html中修改2次,並提交到遠端倉庫;lilei在index.html中修改2次,並提交到遠端倉庫;bob拉取遠端倉庫(git fetch origin dev),merge合併。分支結構如下:

git的merge與rebase的差別

由此可見,兩個分支進行了合併,並且93a6d33提交有2個parent(135b375和8b61b04)。

git rebase

具體操作:lilei在index.html中修改2次,並提交到遠端倉庫;bob在index1.html中修改2次,並提交,拉取遠端倉庫(git fetch origin dev),rebase合併。命令列輸出如下:

git的merge與rebase的差別

首先將HEAD指標移到目前origin分支頂部,然後再套用所有提交到目前分支。分支結構(呈直線型)如下:

git的merge與rebase的差別

可以看出,rebase時,目前分支在135b375共有祖先的基礎上,將191b8cd、00e08ec及後續2次提交,共4個提交撤銷。然後將HEAD移到322ca9提交上,再將4個提交重新應用到分支上。

以上是git的merge與rebase的差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
git
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!