首页
/
每日頭條
/
圖文
/
git代碼合并的方式
git代碼合并的方式
更新时间:2026-04-21 08:56:40

在 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
推荐阅读
飛利浦spk8404鍵盤測評
飛利浦spk8404鍵盤測評
雜談鍵盤史篇十二:PHILIPS飛利浦PHS1104KB薄膜鍵盤1.前言這期UP主做的鍵盤是由BTC英群代工的98年産的飛利浦的PHS1104KB,其實這個型号在鍵盤曆史毫無名氣,甚至可以說冷門鍵盤。UP主之所以做這把鍵盤一是因為其不錯的手...
2026-04-21
鮮為人知的植物且具有研究價值
鮮為人知的植物且具有研究價值
中草藥作為中華民族醫學文化的瑰寶,一直以來被太多古方典籍賦予神秘的面紗。2019年北京世園會将以“前無古人”之勢創立“百草園”,首次大規模集中為這些濟世良方搭建“舞台”,讓我們在一睹其真顔的同時,聆聽它們前世今生的傳奇。親愛的“會”員們,如...
2026-04-21
快遞保價和不保價有何區别
快遞保價和不保價有何區别
快遞保價和不保價有何區别?齊魯晚報·齊魯壹點記者王瑞超實習生盧姗,我來為大家講解一下關于快遞保價和不保價有何區别?跟着小編一起來看一看吧!快遞保價和不保價有何區别齊魯晚報·齊魯壹點記者王瑞超實習生盧姗如今寄遞高端酒水、首飾、奢侈品等貴重物品...
2026-04-21
橡皮泥教程基礎
橡皮泥教程基礎
橡皮泥也可以說是一款非常經典的玩具,對于我們很多80、90後的人來說,橡皮泥是我們童年不可或缺的一款玩具。所以也要将這份美好傳承給我們的孩子~經過了技術的發展與改革,橡皮泥無論從玩法上,質量上都比之前有了很大的提高與進步。今天,寶寶樹将推薦...
2026-04-21
美的熱水器使用時漏電怎麼辦
美的熱水器使用時漏電怎麼辦
美的熱水器使用時漏電怎麼辦?新京報貝殼财經訊(記者陳維城)近日有報道稱,7月14日,遼甯沈陽17歲準高三女生小睿在家洗澡時被電暈,呼吸心跳停止,其母親及時發現做心肺複蘇才恢複知覺,經醫院診斷為三度電灼傷事發後,其父親找來電工發現所使用的美的...
2026-04-21
Copyright 2023-2026 - www.tftnews.com All Rights Reserved