首页
/
每日頭條
/
圖文
/
git代碼合并的方式
git代碼合并的方式
更新时间:2026-03-20 23:42: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
推荐阅读
長春為什麼總是停水
長春為什麼總是停水
炎熱夏季,沒有水,居民的日常生活直接受到影響。7月下旬,長春市停水問題頻發,讓各區居民深受其苦,頻繁停水問題,考驗的是居民的耐心,不堪停水危機的居民期盼得到一個答複。“任性”自來水說停就停近期,記者不時聽到周圍的人說到家裡停水問題。有網友反...
2026-03-20
或将推出微信版“花呗”
或将推出微信版“花呗”
或将推出微信版“花呗”?等了半年時間,微信“分付”終于姗姗來遲,今天小編就來聊一聊關于或将推出微信版“花呗”?接下來我們就一起去研究一下吧!或将推出微信版“花呗”等了半年時間,微信“分付”終于姗姗來遲。前段時間,一直傳言說,微信也要推出一款...
2026-03-20
居家辦公四大技能
居家辦公四大技能
3月以來,在一些城市,人們因為疫情防控而足不出戶,除了線上買菜購物,遠程工作也成了居家的大課題。我們連線了3位上海“職住一體”者的家,有人在家工作5年,曾經“懶散”,逐漸自洽;有人的家和工作室相隔15分鐘,每時每刻,身處高密度的美學氛圍;有...
2026-03-20
淘寶店鋪商品分類在哪裡改
淘寶店鋪商品分類在哪裡改
店鋪不顯示分類産品一般是由于商家沒有設置好,可以根據以下的步驟進行操作:登錄淘寶裝修的後台,點擊右上角的小三角按鈕;淘寶店鋪在審核通過以後,需要給店鋪上架産品,同時對店鋪進行裝修,隻有将這些工作都做好了,才能獲得消費者的認可,願意在店鋪裡面...
2026-03-20
年夜飯爆款菜
年夜飯爆款菜
今天一早去超市買了一些鴨頭,鴨爪,雞爪之類的食材,準備做一些鹵制品嘗嘗。自己在家做的雖然花費時間久一點,但是真材實料,幹淨衛生,味道也是極好的,老公說可以媲美鹵味店的鹵制品。By鹵蛋廚房用料鴨頭2個鴨翅4個鴨爪4個雞爪8個豬蹄1隻鹌鹑蛋12...
2026-03-20
Copyright 2023-2026 - www.tftnews.com All Rights Reserved