首页
/
每日頭條
/
圖文
/
git代碼合并的方式
git代碼合并的方式
更新时间:2026-06-02 13:57:50

在 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-06-02
lol新賽季riot
lol新賽季riot
除去遊戲中的不健康和惡劣分子不僅對玩家友誼,這也能夠讓整個互聯網變得更加安全健康。Riot社交網絡的首席遊戲設計師JeffreyLin上周在舊金山的GDC大會上就發表了相關的發言,他提出了對開發者來說非常醒目的一個觀點——你對互聯網潔淨有責...
2026-06-02
手動擠痘痘的危害
手動擠痘痘的危害
嗨!熱愛生命的小夥伴們,你們好。歡迎收聽本期的《急救知識直通車》,我是和你們聊急救知識的小米毛線球。我現在剛下夜班。家人們呀,咱就是說有個槽不吐不快呀。淩晨三點多,一個20多歲的年輕小夥擠完一顆痘痘之後,覺得頭暈,突然想起有人擠完痘痘後導緻...
2026-06-02
一生一世萬裡長城
一生一世萬裡長城
不到長城非好漢”這一句通俗易懂、略顯霸氣的語句,生動闡述了長城在中國乃至全世界的影響力。國内外遊客無不慕名而來,外國政要訪華也必登長城,歎服其壯美。長城,在一定意義上已經成了中華民族的象征。​長城,是中國人的圖騰。它的修築經曆了古代好幾個不...
2026-06-02
真假消防産品如何辨别
真假消防産品如何辨别
真假消防産品如何辨别?01劃重點滅火器真僞辨别,今天小編就來聊一聊關于真假消防産品如何辨别?接下來我們就一起去研究一下吧!真假消防産品如何辨别01劃重點滅火器真僞辨别首先,我們拿起滅火器,對滅火器的瓶身進行檢查,看滅火器瓶身是否正常,瓶底處...
2026-06-02
Copyright 2023-2026 - www.tftnews.com All Rights Reserved