簡單對比git pull和git pull --rebase的使用

  • 使用下面的關(guān)系區(qū)別這兩個操作:
    git pull = git fetch + git merge
    git pull --rebase = git fetch + git rebase

  • 現(xiàn)在來看看git merge和git rebase的區(qū)別。
    假設(shè)有3次提交A,B,C。


    image
  • 在遠程分支origin的基礎(chǔ)上創(chuàng)建一個名為"mywork"的分支并提交了,同時有其他人在"origin"上做了一些修改并提交了。


    image
  • 其實這個時候E不應(yīng)該提交,因為提交后會發(fā)生沖突。如何解決這些沖突呢?有以下兩種方法:

  • 1、git merge
    用git pull命令把"origin"分支上的修改pull下來與本地提交合并(merge)成版本M,但這樣會形成圖中的菱形,讓人很困惑。


    image
  • 2、git rebase
    創(chuàng)建一個新的提交R,R的文件內(nèi)容和上面M的一樣,但我們將E提交廢除,當(dāng)它不存在(圖中用虛線表示)。由于這種刪除,小李不應(yīng)該push其他的repository.rebase的好處是避免了菱形的產(chǎn)生,保持提交曲線為直線,讓大家易于理解。


    image
  • 在rebase的過程中,有時也會有conflict,這時Git會停止rebase并讓用戶去解決沖突,解決完沖突后,用git add命令去更新這些內(nèi)容,然后不用執(zhí)行g(shù)it-commit,直接執(zhí)行g(shù)it rebase --continue,這樣git會繼續(xù)apply余下的補丁。
    在任何時候,都可以用git rebase --abort參數(shù)來終止rebase的行動,并且mywork分支會回到rebase開始前的狀態(tài)。

  • 總的來說 就是
    git pull --rebase
    git add .
    git rebase --continue
    git push orign/master

來源: https://www.cnblogs.com/kevingrace/p/5896706.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 使用下面的關(guān)系區(qū)別這兩個操作: git pull = git fetch + git merge git pull...
    luseike閱讀 16,557評論 3 12
  • 使用下面的關(guān)系區(qū)別這兩個操作: 現(xiàn)在來看看git merge和git rebase的區(qū)別。 假設(shè)有3次提交A,B,...
    NowBurn閱讀 429評論 0 0
  • 欣聞北島在豆瓣做講座,又幸運地得到了豆瓣的邀請,在APP里聽到了68歲的北島蒼涼卻溫和的聲音。這是我第二次聽到他的...
    冰眉鐵面閱讀 321評論 2 6
  • 2、原理 奇特聯(lián)想法不是誰眉頭一皺浮想出來的,也不是誰靈機一動偶然發(fā)現(xiàn)的,更不是誰夢筆生花胡編亂造的,而是以世界現(xiàn)...
    滾來滾去的元子閱讀 2,381評論 0 4
  • 一、什么是新零售? 1.以消費者體驗為中心 客戶在哪里,營銷就在哪里。 服務(wù)在哪里,品牌就在哪里。 先成交、后社交...
    古麗Lily閱讀 2,063評論 0 11

友情鏈接更多精彩內(nèi)容