首页
/
每日頭條
/
圖文
/
git代碼合并的方式
git代碼合并的方式
更新时间:2026-06-09 12:49: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
推荐阅读
04款沃爾沃xc90五座與七座
04款沃爾沃xc90五座與七座
2014年,沃爾沃推出了第二代XC90。作為該品牌的旗艦級産品,它不僅使用了全新的設計語言,而且也是首款采用SPA架構打造的車型。正因如此,使得全新XC90成為了沃爾沃品牌邁入新紀元的開山之作。現如今,沃爾沃全新XC90已經進行了年度改款,...
2026-06-09
正确換尿褲的方式
正确換尿褲的方式
照顧寶寶不是一件容易的事情,若是哪方面沒有注意到,可能會影響到寶寶的身體健康。比如說,給寶寶換紙尿褲,這雖是日常小事卻有着大學問。提到給寶寶更換紙尿褲,可能很多寶媽都會覺得,我都不曉得換了幾次了,閉着眼都會做,哪還需要人教。但看起來soea...
2026-06-09
德國德盾超防撬安全門
德國德盾超防撬安全門
摘要:德國德盾超防撬安全門,成為行業唯一登上福布斯世界紀錄榜的品牌,引領行業發展。安全門作為家庭安防的重要組成部分,受到越來越多消費者的重視,但是大多數消費者對優質安全門并無概念,在購買時,很容易落入虛假宣傳的陷阱,為家庭安全埋下隐患。德國...
2026-06-09
水泊梁山聚集了多少人
水泊梁山聚集了多少人
一本《水浒傳》陪伴了多少人的少年,108位梁山好漢,因為各樣的原因走入了八百裡梁山泊,高舉“替天行道”的義旗,讓曾經年少的我們熱血沸騰。然而,最終的結局卻讓人唏噓,曾經懵懂的自己怎麼也想不明白,宋江為什麼一定要做高俅的爪牙,去攻擊同為義軍的...
2026-06-09
瘦人也會有脂肪肝嗎
瘦人也會有脂肪肝嗎
其實,“瘦”是相對的,僅用體重指數衡量胖與瘦有它的片面性。瘦人雖然體重指數是正常的,但如果近幾年出現了明顯的腹部脂肪堆積,而體重指數是不能準确的體現出脂肪分布的。也就是說,有一部分人雖然體重指數正常,但是脂肪分布異常,腹部和内髒脂肪含量升高...
2026-06-09
Copyright 2023-2026 - www.tftnews.com All Rights Reserved