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

在 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
推荐阅读
芒果台的選秀節目有什麼
芒果台的選秀節目有什麼
芒果台可能是所有台裡最特别的存在,它總能打造讓觀衆耳目一新的節目,還能收視爆表,讓嘉賓二次翻紅。但它同時也備受争議,一些剪輯總能引起軒然大波,讓觀衆不斷讨論。這些年來,芒果台身上的最大的标簽就是娛樂化三個字,娛樂圈大半的明星都曾被邀請過去參...
2026-02-28
doinb當初為什麼來lpl
doinb當初為什麼來lpl
★遊戲馬蹄鐵原創什麼是LBL?LBL是Doinb牽頭由部分主播、現役/退役職業選手和高分路人組成的開黑對抗賽,而且甚至包括中韓兩大賽區在内的多位明星選手。說白了就是單純的開黑5v5,但因為都是很出名的玩家,因此本身所吸引的粉絲群體就非常多。...
2026-02-28
歐洲抽象派油畫畫家作品欣賞
歐洲抽象派油畫畫家作品欣賞
一組西班牙畫家Volegov的女性人物油畫作品欣賞:,
2026-02-28
睡覺前吃點苦瓜能降血糖嗎
睡覺前吃點苦瓜能降血糖嗎
不知道從什麼時候起,苦瓜就變成了“抗糖明星”。苦瓜在民間曾長期被當做藥食兩用食物,關于苦瓜的功效傳說可以說悠久而繁多,加之近年來流行的關于苦瓜中含有“植物胰島素”、苦瓜能降血糖說法,可以說苦瓜集諸多光環于一身。苦瓜真的能降血糖嗎?苦瓜起初被...
2026-02-28
姨媽期間吃什麼好幫助排出污血
姨媽期間吃什麼好幫助排出污血
來大姨媽的時是女性朋友1個月中最脆弱敏感的時期,子宮内膜脫落通常會伴随疼痛,其實這個時期也是保養子宮的好時期,多喝這5種紅紅的食物可以為我們補氣補血,幫助子宮更好的運作排出多餘污血。五紅湯,是一個民間廣為流傳的經典補血食療良方,制作簡單,功...
2026-02-28
Copyright 2023-2026 - www.tftnews.com All Rights Reserved