首页
/
每日頭條
/
圖文
/
git代碼合并的方式
git代碼合并的方式
更新时间:2026-07-28 23:28:23

在 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
推荐阅读
最新版的wps和office對比
最新版的wps和office對比
WPSOffice和MicrosoftOffice是現在兩大主流辦公軟件。兩者最大的區别就是,WPS是免費的,而Office是收費的,但是即使如此,為什麼還是有人願意花錢用Office而不願用免費的WPS呢?今天小編就單從PPT演示功能出發...
2026-07-28
養樂多500億
養樂多500億
單價2.2元的養樂多,日銷750萬瓶,全球33個國家和地區8萬多媽媽遊蕩街頭幫它賣貨。成立86年來“不思進取”還能銷量持續穩固增長,它是怎麼火的?1、産品夠硬養樂多品牌打造了一個功能:疾病預防性!你喝養樂多你就能讓你的腸道獲得更長的壽命,你...
2026-07-28
趙麗穎在拍楚喬傳的
趙麗穎在拍楚喬傳的
在軍營中,蕭策(鄧倫)捧着一束鮮花束和一群宮女出現在楚喬屋前!蕭策(鄧倫)跟在楚喬(趙麗穎)身後獻殷勤,唠唠叨叨。這樣一來,楚喬忍無可忍了,說了一大堆難聽的話。蕭策(鄧倫)不依不饒,繼續糾纏,楚喬一反轉把他揍在地上。接着蕭策又像沒事一樣跑到...
2026-07-28
用蘋果做的簡單蛋糕
用蘋果做的簡單蛋糕
一個磅蛋糕的底子,面粉和黃油的比較少,靠杏仁粉提升酥軟的口感和黃油的香氣。蘋果作為可愛的小點綴,帶點水果的香氣,整個蛋糕體特别粉酥,當然如果你喜歡有點筋道的口感的話,可以适當調整增多一點面粉的比例,但我很喜歡這個蛋糕的口感,吃起來相當滿足,...
2026-07-28
支氣管炎引起的咳嗽是什麼樣
支氣管炎引起的咳嗽是什麼樣
支氣管炎是指氣管,支氣管粘膜和周圍組織的慢性非特異性炎症。支氣管炎的主要原因是病毒和細菌的反複感染,形成支氣管的慢性非特異性炎症。當溫度下降時,呼吸道中的小血管,缺血,以及防禦功能的下降都有利于疾病;還可能發生諸如煙塵和大氣污染等慢性刺激;...
2026-07-28
Copyright 2023-2026 - www.tftnews.com All Rights Reserved