首页
/
每日頭條
/
圖文
/
git代碼合并的方式
git代碼合并的方式
更新时间:2026-04-16 13:44:15

在 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-04-16
台風最新消息台風現狀
台風最新消息台風現狀
防禦指南:藍色預警信号1、政府及相關部門按照職責做好防台風準備工作;2、停止露天集體活動和高空等戶外危險作業;3、相關水域水上作業和過往船舶采取積極的應對措施,如回港避風或者繞道航行等;4、加固門窗、圍闆、棚架、廣告牌等易被風吹動的搭建物,...
2026-04-16
平價吸塵器掃拖一體測評
平價吸塵器掃拖一體測評
吸塵器的問世,無疑是家庭清潔的福音。如今這個發明了100多年的産品依舊在發光發熱。随着科技的發展,吸塵器擺脫了“繩索”的束縛,變成了無線手持。吉米A8上手把無線吸塵器正是其中的佼佼者,最近有機會體驗了一段時間這款産品,下面來和大家分享一下有...
2026-04-16
鉛酸蓄電池要加補充液嗎
鉛酸蓄電池要加補充液嗎
蓄電池按市場現有蓄電池的品種大緻可分為兩種:免維護的鉛酸蓄電池和大功率的管式鉛酸蓄電池(水電池)。免維護的不用經常想着檢查電瓶液的液面,隻要不是非常虧電就行了,加電瓶液的電瓶,要經常檢查液面是否過低,加電瓶液時也不能加的太滿,否則,當發電機...
2026-04-16
紅燒排骨的做法家常
紅燒排骨的做法家常
紅燒排骨的做法家常?做法步驟1、原材料準備好,排骨洗淨,用水沖去血水,擦幹備用,今天小編就來聊一聊關于紅燒排骨的做法家常?接下來我們就一起去研究一下吧!紅燒排骨的做法家常做法步驟1、原材料準備好,排骨洗淨,用水沖去血水,擦幹備用2、鍋中倒入...
2026-04-16
Copyright 2023-2026 - www.tftnews.com All Rights Reserved