首页
/
每日頭條
/
圖文
/
git代碼合并的方式
git代碼合并的方式
更新时间:2026-01-14 10:04:00

在 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
推荐阅读
2月财運好愛情也甜蜜的四大生肖
2月财運好愛情也甜蜜的四大生肖
屬鼠2017年運勢及運程屬鼠人2017年每月運勢生肖屬鼠人來到2017丁酉雞年,子酉相破,雖然有破太歲之象,但所屬的犯太歲類别影響較輕微,對整體運勢的阻礙不大。加上雞年有【太陰】、【天喜】及【地解】三顆吉星駕臨,運勢其實頗為理想,尤其事業運...
2026-01-14
張道長  長壽功
張道長 長壽功
文案|33号調查員編輯|33号調查員百歲道長親自錄制視頻,将道教的金剛功傳給我們,這位老道長一生都在為中國道教奔走操勞,他行醫治病從未停下為國救民的腳步,求道之路也布滿了荊棘。張至順道長生于1912年,是河南沈丘人。祖輩也算是一戶富裕人家,...
2026-01-14
最正确的洗牙過程
最正确的洗牙過程
經常有牙醫吐槽,每天都會被問到關于洗牙的各種匪夷所思的問題,簡直被問到懷疑人生!真沒想到大家對洗牙有那麼多誤解~于是,我們精選了關于「洗牙」的問得最多最奇葩的N個問題,相信看完這篇文章絕對能解決你們患者99%的困擾!友情提醒:文章有點長,預...
2026-01-14
日字什麼偏旁變新字
日字什麼偏旁變新字
一、“日”字的演變二、“日”字的字源三、“日”字的本義四、“日”字的現代含義【名詞】日,太陽之精也。從囗一,象形。——《說文》離為日,為火。——《易·說卦》以土圭之法,正日景求于地中。——《周禮·大司徒》天無二日,太陽也。——《孟子》日初出...
2026-01-14
DNF損失超過3000W英豪摸金要注意
DNF損失超過3000W英豪摸金要注意
自從110級版本推出後,“英王”摸金之風盛行,為了高級副本門票、積攢刷圖點數和105史詩裝備,大批玩家沉迷其中。但打“英王”的過程中,角色背包金币,勢必要準備足夠些,否則會跟3000W罐子擦肩而過。“英王”難度四大好處110級“英王”難度副...
2026-01-14
Copyright 2023-2026 - www.tftnews.com All Rights Reserved