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

在 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
推荐阅读
酷樂mini
酷樂mini
随着科技的發展,掌上智能用品已經成為人們不可或缺的工具,掌上用品雖好但也給人們帶來些許困擾,就比如屏幕小給人們帶來的諸多健康問題。想要解放雙手呵護雙眼還是建議您選擇能夠釋放大屏的智能投影。酷樂視R4mini風尚版說到智能投影就不得不提一下酷...
2026-03-18
傾國傾城一詞出自誰
傾國傾城一詞出自誰
一我們常常會用四字成語來形容一個人長得好看,如沉魚落雁,閉月羞花,傾國傾城等用來形容女人,英俊潇灑,文質彬彬等用來形容男士,那麼我們耳熟能詳的“傾國傾城”在曆史上最早是用來形容誰的呢?漢武帝時期,有一位名叫李延年的宮廷譜曲家,在當時稱之為樂...
2026-03-18
墨蘭四季如何養護
墨蘭四季如何養護
墨蘭四季如何養護?墨蘭又叫做中國蘭,它的株型優雅,香氣濃郁,有着“王者之香”和“花中君子”的稱号,是一種很受歡迎的花卉,受到很大花友的喜愛但是在養護墨蘭時,會出現黃葉枯葉的情況,這就比較尴尬了,其實黃葉枯葉并不可怕,這樣養護就能讓墨蘭避免出...
2026-03-18
泰迪平時要怎樣去養
泰迪平時要怎樣去養
如果問現在最多人養的寵物犬是什麼?應該很多人會回答泰迪。為啥“泰迪”的飼養率這麼高?因為這幾點太讨人喜歡了!①:首先泰迪的顔值是很高的,毛發濃密柔順,看上去呆萌可愛,摸起來手感柔軟,撸起來很解壓,而且稍微收拾一下,穿上小裙子,泰迪就很好看了...
2026-03-18
迷人的小女孩
迷人的小女孩
你‬心動了嗎‬?嘿嘿‬[憨笑]喜歡記得轉發點贊哦圖源網絡侵删~,
2026-03-18
Copyright 2023-2026 - www.tftnews.com All Rights Reserved