首页
/
每日頭條
/
圖文
/
git代碼合并的方式
git代碼合并的方式
更新时间:2026-03-19 21:13:40

在 git 中整合來自不同分支的修改主要有兩種方法:合并(merge)以及 變基(rebase)

合并(merge)

git代碼合并的方式(Git進階合并與變基)1

merge流程圖

merge的原理是找到這兩個分支的祖先commit,在兩個分支最新的commit進行三方對比合并。

注:git會對每個文件進行一個哈希計算,這個值一樣的話說明文件沒有改動過

上圖中,共同的祖先commit2,master最新commit6,develop最新commit5,merge會基于2,5,6這三個commit進行對比

  1. commit6和commit2對比,如果文件的哈希值不一樣,同時commit5和commit2對比,發現一樣,說明隻有commit6修改了這個文件,這種情況直接合并,不會提示
  2. commit6和commit2對比,如果文件的哈希值不一樣,同時commit5和commit2對比,哈希值不一樣,說明兩個分支都對同一個文件修改了,則提示沖突,需要我們手動merge

最後合并完後會生成一個新的commit7

變基(rebase)

上圖的另一種合并方法:在develop分支上提取出commit4,5的修改,然後在master的最新的commit6的基礎上應用commit4,5的修改,這種方式就是變基(rebase)。你可以使用 rebase命令将提交到某一分支上的所有修改都移至另一分支上,就好像“重新播放”一樣。

git代碼合并的方式(Git進階合并與變基)2

rebase結果

這裡新增了commit4,5,在merge時有可能都會有沖突,這裡有可能需要手動merge兩次,因為rebase時可能在提交commit4的時候提示沖突一次,在提交commit5的時候又沖突一次

總結
  • rebase:合并後分支圖譜好看,一條線,但合并過程中出現沖突的話,比較麻煩(rebase過程中,一個commit出現沖突,下一個commit也極有可能出現沖突,一次rebase可能要解決多次沖突);
  • merge:合并後分支圖譜不好看,一堆線交錯,但合并有沖突的話,隻要解一次就行了;

一般多人合作的時候優先考慮合并,一個人玩的時候可以用變基。

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
闖紅燈扣6分教你一招
闖紅燈扣6分教你一招
上一秒還是綠燈,下一秒剛越線,綠燈立刻變紅燈,怎麼辦?這也會被扣6分嗎?跟在卡車屁股後,信号燈看不見,到了路中央,突然才發現:尴了個尬的,怎麼是紅燈......一不小心誤闖紅燈,是硬着頭皮繼續開?還是浪子回頭刹一腳?唉,這6分還能搶救一下嗎...
2026-03-19
卡西歐計算器最新的
卡西歐計算器最新的
卡西歐計算器最新的?手機微信響了下,拿起看,是同學秀豔發來的,已經晚上九點多,一定是急事打開看,是一張卡西歐計算器圖片她說兒子用的計算器突然不靈,問我在金山這邊能不能幫着買一個,楊浦區還不能購物,下面我們就來聊聊關于卡西歐計算器最新的?接下...
2026-03-19
豎排匾額
豎排匾額
匾額是中華民族獨特的民俗文化精品。幾千年來,它把中國古老文化流傳中的辭賦詩文、書法篆刻、建築藝術融為一體,集字、印、雕、色的大成,以其凝練的詩文、精湛的書法、深遠的寓意、指點江山,評述人物,成為中華文化園地中的一朵奇葩。據百度百科資料:匾額...
2026-03-19
柏拉圖跟蘇格拉底學了多久
柏拉圖跟蘇格拉底學了多久
最近,歐洲又雙叒叕發現新的變異病毒了,而且連鎖效應已經出現——沒錯,疫情反彈。這世界變化快啊……你永遠不知道明天或意外或變異病毒哪個先來,就問你慌不慌?焦慮、郁悶、壓力山大……何以解憂?唯有杜康心态好!要是實在想不開,我們有請古希臘哲學家們...
2026-03-19
專利權客體保護期
專利權客體保護期
專利禁止權,是指發明和實用新型專利權被授予後,除本法另有規定的以外,任何單位或者個人未經專利權人許可,專利權人有禁止他人實施其專利,即不得為生産經營目的制造、使用、許諾銷售、銷售、進口其專利産品,或者使用其專利方法以及使用、許諾銷售、銷售、...
2026-03-19
Copyright 2023-2026 - www.tftnews.com All Rights Reserved