首頁 > 開發工具 > Git > git中rebase和merge的差別是什麼

git中rebase和merge的差別是什麼

WBOY
發布: 2022-01-07 14:40:05
原創
40731 人瀏覽過

區別:1、rebase把目前的commit放到公共分支的最後面,merge把目前的commit和公共分支合併在一起;2、用merge指令解決完衝突後會產生一個commit,而用rebase指令解決完衝突後不會產生額外的commit。

git中rebase和merge的差別是什麼

本文操作環境:Windows10系統、Git2.30.0版、Dell G3電腦。

git中rebase和merge的差別是什麼

#rebase會把目前分支的commit 放到公共分支的最後面,所以叫變基。就好像從公共分支又重新拉出來這個分支。

舉例:如果從master 拉個feature分支出來,然後提交了幾個commit,這個時候剛好有人把他開發的東西合併到master 了,這個時候master 就比你拉分支的時候多了幾個commit,如果這個時候你rebase master 的話,就會把你目前的幾個commit,放到那個人commit 的後面。

git中rebase和merge的差別是什麼

merge會把公共分支和你目前的commit 合併在一起,形成一個新的commit 提交

git中rebase和merge的差別是什麼

##採用merge和rebase後,git log的區別,merge指令不會保留merge的分支的commit:

git中rebase和merge的差別是什麼

處理衝突的方式:

  • (一股腦)使用merge指令合併分支,解決完衝突,執行git add .和git commit -m'fix conflict'。這時候會產生一個commit。

  • (互動式)使用rebase指令合併分支,解決完衝突,執行git add .和git rebase --continue,不會產生額外的commit。這樣的好處是,‘乾淨’,分支上不會有無意義的解決分支的commit;壞處,如果合併的分支中存在多個commit,需要重複處理多次衝突。

git pull和git pull --rebase區別:git pull做了兩個操作分別是『取得』和合併。所以加了rebase就是以rebase的方式進行合併分支,預設為merge。

推薦學習:《

Git教學

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

相關標籤:
git
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板