首页
/
每日頭條
/
圖文
/
git代碼合并的方式
git代碼合并的方式
更新时间:2026-03-26 21:45:33

在 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
推荐阅读
從荞麥的營養價值上來看
從荞麥的營養價值上來看
你好!我是福爸,職業是醫生和臨床營養師,分享有用有趣的營養和健康知識。在我們一天所吃的食物當中,哪種是最核心的呢?大家可能想不到,就是我們的主食:谷類。《中國居民膳食指南(2016)》核心推薦的第一條就是“食物多樣,谷類為主”。為了宣傳推廣...
2026-03-26
微山哪個飯店的魚做得好
微山哪個飯店的魚做得好
大家都知道杭州西湖,但微山湖并不是所有人都知道。論起來,微山湖雖比不上杭州西湖風景優美但是也獨有所長,比如:微山湖的面積大所以湖産品特别豐富,很多微山湖的螃蟹也都上了很多人的餐桌,論曆史遠的不說,近得鐵道遊擊隊應該是婦孺皆知。有句老話叫“靠...
2026-03-26
皮膚黑怎麼辦有什麼方法可以變白
皮膚黑怎麼辦有什麼方法可以變白
8個小妙招讓你迅速變白。因為“一白遮三醜”的傳統美觀念,中國女性一直再緻力于美白的工作,什麼美白精華,美白化妝水,美白面膜各種産品層出不窮,其實,想要白得内外兼調,才能白的徹底,白的健康,白的永久。這點其實最容易,因為變黑的源頭是紫外線照射...
2026-03-26
10個證明外星人存在的古代發現
10個證明外星人存在的古代發現
曾有外星人造訪過地球嗎?如果有,他們留下過痕迹嗎?今天我們将同大家一起去發現最神秘的,那些被人們認為的地外天體以及從未在地球上被發現過的手工制品!你是一個事實迷嗎?你對這些是否一直好奇?在考古界中,一件在不尋常或難以解釋的背景和環境中被發現...
2026-03-26
cad繪圖秘密
cad繪圖秘密
cad繪圖秘密?一、不要輕易在特性管理器裡修改單個線段的線型比例,接下來我們就來聊聊關于cad繪圖秘密?以下内容大家不妨參考一二希望能幫到您!cad繪圖秘密一、不要輕易在特性管理器裡修改單個線段的線型比例通常在剛開始繪圖的時候,要用到中心線...
2026-03-26
Copyright 2023-2026 - www.tftnews.com All Rights Reserved