首页
/
每日頭條
/
圖文
/
git代碼合并的方式
git代碼合并的方式
更新时间:2026-04-28 10:04:55

在 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
推荐阅读
為什麼學以緻用很有價值
為什麼學以緻用很有價值
先說我的觀點:我認為學習不應該學以緻用。我認為:1、學習不應該以有用為目的。知識不是孤立的,知識都是存在内部關聯性的,如果隻以目标性很強的目的去學習,那勢必會導緻知識面過窄。比如說,讀書,在理解一篇文章時,需要在接受文章内容的同時與文章有互...
2026-04-28
圓弧形寶石推薦給什麼人
圓弧形寶石推薦給什麼人
圓弧形寶石推薦給什麼人?黑曜石是酸性火山熔岩快速凍凝的産物,主要成分為Sio2,是在自然條件下形成的玻璃大部分的黑曜石産自中美和北美地區,最常見的是黑色,價格也很親民,多在幾十元至幾百元黑曜石在民間一直被當做辟邪物、護身符使用,可以吸收負能...
2026-04-28
小米攝像頭亮黃燈怎麼解決
小米攝像頭亮黃燈怎麼解決
不吹不黑,曾經的米粉,購買過的小米産品超過20,包括攝像機3台,1.手機10部,2.電視機3台,3.筆記本電腦2台,4.手持式吸塵器1台,5.米家互聯網洗碗機1台,5.車載淨化器1台,6.小米移動電源2台7.行車記錄儀1台8.小米盒子3台9...
2026-04-28
杭州女子失蹤案全案經過
杭州女子失蹤案全案經過
杭州女子失蹤案全案經過?這是我最後一條關注杭州來女士失蹤案的視頻了,因為一切終于塵埃落定,更多未解的細節和疑問都有了解答從2020年7月,來女士失蹤開始,我就一直在關注跟進,相信不少網友也是因此關注的我案發近2年了,今天,浙江高院裁定駁回上...
2026-04-28
标準跑步動作不傷膝蓋
标準跑步動作不傷膝蓋
跑步是國家比較提倡的一項運動,也是一項體育運動。不知道大家是否看過一部電影,電影中男主角将運動與減肥結合在一起推出了一種運動險,宣傳“每減一斤肉,可得1000元”,電影就是《西虹市首富》。這部電影在當時引起了全民運動的熱潮,也是具有積極影響...
2026-04-28
Copyright 2023-2026 - www.tftnews.com All Rights Reserved