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

在 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米高的女兒牆可以用砌體施工麼(砌體女兒牆的限制)
  什麼情況下可采用磚做女兒牆?有何構造要求?      《非結構構件抗震設計規範》JGJ 339-2015第4.4.2條,女兒牆高度超過0.5m時、人流出入口、通道處或9度時,出屋面砌體女兒牆應設置構造柱與主體結構錨固,構造柱間距宜取2.0m~2.5m;高層建築的女兒牆,不得采用砌體女兒牆。      22G614-1具體規定   1、砌體女兒牆頂部應采用...
2026-06-16
巨龍咆哮卡組(巨龍咆哮龍牧歸來)
巨龍咆哮卡組(巨龍咆哮龍牧歸來)
  新版本中,牧師大部分都以恩佐斯環牧和克蘇恩牧的形态征戰天梯,而最近歐服玩家用一套微調過的龍牧卡組成功登頂歐服第一,讓我們一起來看看吧~      【卡組詳情】      【卡牌選擇】   這套牌在傳統龍牧的基礎上增加了2張古神新卡,禁忌畸變和變幻之影。   禁忌畸變:很多人覺得這張卡随機性太大,但是相對的在龍牧卡組中這張牌能帶來更多的變化。當你手中卡着一...
2026-06-16
迪士尼收購福克斯不再制作電影(二十世紀福克斯)
迪士尼收購福克斯不再制作電影(二十世紀福克斯)
  參考消息網1月19日報道美媒稱,迪士尼公司一名發言人說,該公司重新命名了2019年收購的二十世紀福克斯影業公司,去掉了“福克斯”,将其更名為“二十世紀影業公司”。   據美國《華爾街日報》網站1月17日報道,迪士尼還把二十世紀福克斯下屬的子公司、傳統上以出品低預算的藝術電影著稱的“福克斯探照燈電影公司”更名為“探照燈電影公司”。   報道稱,這一變化在兩...
2026-06-16
董姓的新版排名(董姓最新排名出來了)
董姓的新版排名(董姓最新排名出來了)
  在最新出版的《中國四百大姓》一書中,繪制出了中國400個大姓的“姓氏地圖”。書中的姓氏地圖是一種頻率圖,也就是某姓氏人數在地區總人口中所占比例的示意圖,在較長的時期内,中國人的姓氏地理分布變化不會太大。由于400個大姓約占我國總人口的97%,這也代表了我國絕大多數人口的姓氏地圖。      《中國四百大姓(套裝共3冊)》主要分析了中國姓氏的特點以及400...
2026-06-16
玉娆和甄母現實中是親生母女嗎(為什麼隻有三小姐玉娆赢得了最終的幸福)
玉娆和甄母現實中是親生母女嗎(為什麼隻有三小姐玉娆赢得了最終的幸福)
  #頭條創作挑戰賽##我在頭條搞創作##甄嬛傳#   甄家一共三個女兒,長女甄嬛為了妹妹的家族的前途進宮選秀,成為帝王無數個女人當中的一個。次女浣碧乃是見不得光的私生子,耍了陰狠手段讓自己如願嫁給了果郡王,奈何對方心裡完全沒有她。隻有第三個女兒玉娆,她拒絕了皇帝的心意,依照自己的本心嫁給了心愛的男人慎貝勒。   為什麼甄家三姝裡隻有最小的玉娆得到了幸...
2026-06-16
Copyright 2023-2026 - www.tftnews.com All Rights Reserved