首页
/
每日頭條
/
圖文
/
git代碼合并的方式
git代碼合并的方式
更新时间:2026-02-28 21:05:36

在 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
推荐阅读
一個人不吃飯不喝水能活多久
一個人不吃飯不喝水能活多久
現代供水系統的構建為人類生活帶來了極大便捷,也許正因如此人們的節水意識大不如前;也由于缺乏健康常識、懶惰等原因常常不能為身體補充足夠的水分。為了方便大家意識到水對人體健康的重要性,不妨設想一下——如果一個人不喝水,他最多能存活多長時間?事實...
2026-02-28
日本誇張穿衣風格糖果色
日本誇張穿衣風格糖果色
相信不少人都知道,近年日本男生的外表有分為不同派系,更是以調味調來區分,例如有「鹽系」和「醬油系」。前者是指五官清秀的男生,總能給人一種腼腆的感覺,男星代表就有坂口健太郎;後者則是指有着細長臉型和眼型的「和風男子」,給人溫柔卻清爽的感覺,男...
2026-02-28
新手健身搞笑動作
新手健身搞笑動作
秋風蕭瑟的季節就這麼不聲不響地來了這是一個适合宅着的季節更是一個容易長膘的季節如果你既想宅在屋裡,又不想長膘那最好的辦法就是去健身房了!每個人到【gym/健身房】的目的都不一樣你是想【tobecomehealthy身體變得健康點】還是【to...
2026-02-28
樟樹港辣椒這麼貴嗎
樟樹港辣椒這麼貴嗎
湖南百姓無辣不雙,對辣椒的品鑒眼光更是獨到而犀利,因此,在湖南地區,人們種植了海量品種的辣椒,再從中精挑細選,選出一五九等的辣椒。據一位湖南老鄉介紹,在許多種辣椒之中,有一種辣椒是湖南人眼中的一等一辣椒之王,它就是湖南省樟樹鎮出産的樟樹港辣...
2026-02-28
類似雞皮膚
類似雞皮膚
類似雞皮膚?每到要露胳膊露腿的時候總有那麼一群人,現在小編就來說說關于類似雞皮膚?下面内容希望能幫助到你,我們來一起看看吧!類似雞皮膚每到要露胳膊露腿的時候總有那麼一群人會把自己遮的嚴嚴實實比如小康妹兒本妹你以為是為了防曬?NoNoNo…主...
2026-02-28
Copyright 2023-2026 - www.tftnews.com All Rights Reserved