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

在 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
推荐阅读
去玩兒的北京話
去玩兒的北京話
●老北京人說話俏皮,還透那麼點“娛樂”,您聽:●“您當(音:Dang讀三聲)真求他哪,到裉節上丫褶溜子了。說真格的,咱爺們兒壓根兒就沒給丫當回事兒,等丫醒過夢兒來。這(音:zhei讀四聲)輩子丫就栽了。等丫到哪(音:Nei讀四聲)起兒再裝子...
2026-01-18
防禦機制與抑郁症的關系
防禦機制與抑郁症的關系
根據倫敦大學學院(UCL)科學家們領導的對先前研究的全面回顧,經過幾十年的研究,仍然沒有明确的證據表明血清素水平或血清素活動是導緻抑郁症的原因。研究人員于7月20日在《分子精神病學》雜志上發表了這項重要的新的總評--對現有的荟萃分析和系統回...
2026-01-18
微信為什麼會限制朋友圈功能
微信為什麼會限制朋友圈功能
微信為什麼會限制朋友圈功能?澎湃新聞記者範佳來微信正在灰度測試修改朋友圈可見範圍,我來為大家科普一下關于微信為什麼會限制朋友圈功能?下面希望有你要的答案,我們一起來看看吧!微信為什麼會限制朋友圈功能澎湃新聞記者範佳來微信正在灰度測試修改朋友...
2026-01-18
侯王将相曆史詳解
侯王将相曆史詳解
侯王将相曆史詳解?很久很久以前,韓國遭受了旱災,昭候卻要建造高大的宮門,接下來我們就來聊聊關于侯王将相曆史詳解?以下内容大家不妨參考一二希望能幫到您!侯王将相曆史詳解很久很久以前,韓國遭受了旱災,昭候卻要建造高大的宮門。屈宜臼說:“昭侯等不...
2026-01-18
清香木盆栽有驅蚊效果嗎
清香木盆栽有驅蚊效果嗎
提起清香木,很多朋友不太了解這種綠植,畢竟花卉市場裡很少能見到這種綠植。清香木四季常青,樹形美觀,可塑性強,全株具有明顯的清香味,可以淨化空氣,還能驅蚊蠅,是居家驅蚊殺菌的好幫手。此外,清香木還有較強的抗空氣污染能力。清香木樹形美觀,造型别...
2026-01-18
Copyright 2023-2026 - www.tftnews.com All Rights Reserved