首页
/
每日頭條
/
圖文
/
git代碼合并的方式
git代碼合并的方式
更新时间:2026-03-23 00:30:32

在 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
推荐阅读
新版windows10退出平闆模式
新版windows10退出平闆模式
新版windows10退出平闆模式?面向Dev頻道的WindowsInsider項目成員,今天微軟推出了全新的Windows11Build22563預覽版本次更新主要引入了幾周前曝光的平闆模式任務欄,此外管理WindowsUpdate的組策...
2026-03-23
“青花椒”案二審宣判
“青花椒”案二審宣判
備受關注的“青花椒”系列訴訟,本周星期四會再啟庭審。此前,鄒先生的“溫江五阿婆青花椒魚火鍋店”被上海萬翠堂餐飲管理有限公司起訴侵犯其“青花椒”商标,因一審敗訴,鄒先生提起上訴。紅星新聞記者了解到,該案二審将于1月13日在四川省高級人民法院公...
2026-03-23
花粉過敏和普通過敏的區别
花粉過敏和普通過敏的區别
小封科普春季萬物複蘇,百花競放。然而,對花粉過敏人士來說,可謂有着不少困擾。你知道嗎,花粉分為蟲媒花和風媒花,風媒花才是花粉過敏“主兇”;較嚴重的過敏性鼻炎可能發展成哮喘…如何防範花粉過敏?發生過敏如何治療?戳圖做好防範,轉需收藏!(人民日...
2026-03-23
一年未玩過的抖音号
一年未玩過的抖音号
抖音賬号封禁注銷後還可以重新注冊嗎是很多人都有的疑問,畢竟抖音作為時下比較熱門的短視頻軟件,該軟件涵蓋的内容十分廣泛。也是如此官方對視頻的管理十分嚴格,從而導緻很多人的賬号被封禁。下面,就快和樂多網一起了解相關知識吧!本文目錄1、抖音賬号封...
2026-03-23
張衡發明地動儀叫什麼
張衡發明地動儀叫什麼
張衡(78~139)字平子,南陽(令河南南陽)人,家境貧寒,幼年便立定了發憤讀書的志向。張衡最感興趣的是研究機械、天文、曆法、數學等自然科學。他為了解決一個問題,制造一種儀器,常常可以一連幾天不間斷地工作,直到成功為止。張衡做了太史令以後,...
2026-03-23
Copyright 2023-2026 - www.tftnews.com All Rights Reserved