首页
/
每日頭條
/
圖文
/
git代碼合并的方式
git代碼合并的方式
更新时间:2026-09-16 21:23: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
推荐阅读
金婚文麗看到佟志李天驕
金婚文麗看到佟志李天驕
作者:半碗原創不易,抄襲必究2007年的一部《金婚》看起來溫馨浪漫,實際上卻撕破了細水長流的外衣,照見了裡頭無數的石頭和淤泥。佟志和文麗屬于先結婚後戀愛,兩口子的小日子從一開始的你侬我侬、你看我帥氣,我看你文靜,到後來的劍拔弩張每集必吵,也...
2026-09-16
海口亞洲最大免稅城
海口亞洲最大免稅城
海口國際免稅城項目免稅商業中心實現鋼結構封頂。王楠攝海口國際免稅城項目免稅商業中心實現鋼結構封頂。王楠攝中新網海口12月31日電(王楠)12月31日上午,海口國際免稅城項目免稅商業中心鋼結構框架順利封頂,為“亞洲最大免稅城”如期營業提供堅實...
2026-09-16
黃瓜可否一年四季種植
黃瓜可否一年四季種植
(注:本文為心系農業獨家原創内容,侵權必究)種植在北方,常被誤叫成“黃瓜”,味道香甜可口,瓜農都不舍得吃。現在随便進入一個超市,你能看到貨架上琳琅滿目的水果,大大小小的,紅紅綠綠的,再加上水果的香味撲鼻而來,看上去就很有食欲,讓你有種忍不住...
2026-09-16
剔骨肉是怎麼做的
剔骨肉是怎麼做的
最近好多人都在減肥,不吃肉的日子是不是特别不好過,看到别人滿嘴流油的吃着肉喝着酒,是不是口水止不住的往下咽,那簡直叫“饞”呀。今天我給大家用剔骨肉來做菜,這是一個農家的吃法,煮透的肉不油膩,吃到嘴中肉爛酥香,不長肉的節奏。剔過肉的骨頭再扔進...
2026-09-16
五指柑又叫苦丁葉嗎
五指柑又叫苦丁葉嗎
導語:房前屋後常見的“五指柑”,它全身都是寶,好多人不知道它的珍貴在農村,看到最多的就是各種野生植物,僅在房前屋後就多到數不勝數。對于在農村生活的朋友,肯定對這些植物有一定的認識,甚至是非常熟悉。房前屋後常見的植物有很多,比如生活中常見的賽...
2026-09-16
Copyright 2023-2026 - www.tftnews.com All Rights Reserved