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

在 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-04-06
枸杞食用過量的副作用
枸杞食用過量的副作用
枸杞食用過量的副作用?枸杞吃多了有什麼副作用?一般情況下,枸杞吃多了是不好的雖然枸杞的營養價值高,可以起到很好的保健效果,但是,過多食用也會引起身體不适下面讓我們具體來看看吧!,接下來我們就來聊聊關于枸杞食用過量的副作用?以下内容大家不妨參...
2026-04-06
6款好用精華推薦
6款好用精華推薦
在國貨護膚品崛起的這兩年,市面上湧現出了不少以修護功效為主的精華産品。它們價格實惠,配方、核心成分多樣,雖然都是修護型産品,但作用效果似乎大有不同。面對如此多的高性價比國貨修護維穩精華,不同膚質、不同皮膚問題該如何選?一款修護型精華怎樣用才...
2026-04-06
慈禧太後什麼時候知道周瑩這個人
慈禧太後什麼時候知道周瑩這個人
慈禧太後為什麼要認周瑩為幹女兒?人家是靠本事當上陝西女首富的八國聯軍進京時慈禧太後吓得倉皇而逃,一路逃到了西安。來到西安之後,慈禧太後得到了陝西首富周瑩多方面的幫助和照顧,周瑩更是一次性送給了慈禧太後十幾萬兩銀子。慈禧太後非常開心,于是就認...
2026-04-06
平價适合幹皮粉底液排行榜
平價适合幹皮粉底液排行榜
,
2026-04-06
Copyright 2023-2026 - www.tftnews.com All Rights Reserved