簡(jiǎn)單對(duì)比git pull和git pull --rebase的使用

使用下面的關(guān)系區(qū)別這兩個(gè)操作:

git pull = git fetch + git merge

git pull --rebase = git fetch + git rebase

現(xiàn)在來(lái)看看git merge和git rebase的區(qū)別。

假設(shè)有3次提交A,B,C。

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

其實(shí)這個(gè)時(shí)候E不應(yīng)該提交,因?yàn)樘峤缓髸?huì)發(fā)生沖突。如何解決這些沖突呢?有以下兩種方法:

1、git merge

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

2、git rebase

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

在rebase的過(guò)程中,有時(shí)也會(huì)有conflict,這時(shí)Git會(huì)停止rebase并讓用戶去解決沖突,解決完沖突后,用git add命令去更新這些內(nèi)容,然后不用執(zhí)行g(shù)it-commit,直接執(zhí)行g(shù)it rebase --continue,這樣git會(huì)繼續(xù)apply余下的補(bǔ)丁。

在任何時(shí)候,都可以用git rebase --abort參數(shù)來(lái)終止rebase的行動(dòng),并且mywork分支會(huì)回到rebase開(kāi)始前的狀態(tài)。

***************當(dāng)你發(fā)現(xiàn)自己的才華撐不起野心時(shí),就請(qǐng)安靜下來(lái)學(xué)習(xí)吧***************

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

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

  • git 使用筆記 git原理: 文件(blob)對(duì)象,樹(shù)(tree)對(duì)象,提交(commit)對(duì)象 tree對(duì)象 ...
    神刀閱讀 3,857評(píng)論 0 10
  • 沒(méi)事在地圖上量了下,每天上下班常走的那條小路大概只有七百米。 細(xì)細(xì)一想,這七百米的路上有些什么呢? 兩家打印店,三...
    梵溫2閱讀 309評(píng)論 0 0
  • 先占位,稍后更新
    SheepYan9閱讀 432評(píng)論 0 0
  • 文/國(guó)境之南 01 立春有段時(shí)間了,天氣逐漸晴了起來(lái),人們不再裹著厚厚的棉衣,驅(qū)寒保暖,換著混...
    國(guó)境之南_閱讀 1,924評(píng)論 40 56
  • 古兵簡(jiǎn):古之蠻人,制劍有技,取精金混以黑隕石雜而融,配以相愛(ài)男女之心頭血制之蠱,遂成一劍,曰情蠱。 清晨的陽(yáng)光,...
    洛天書閱讀 411評(píng)論 0 0

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