首页
/
每日頭條
/
圖文
/
git代碼合并的方式
git代碼合并的方式
更新时间:2026-07-07 10:26:13

在 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
推荐阅读
579路多長時間一趟
579路多長時間一趟
前兩天,一些家住益和國際城小區的居民說,原來,他們坐的148路和178路這兩趟公交車到長春站都是1塊錢,最近卻變成了兩塊,大夥有些不解。那麼,是不是突然漲價了呢?這兩條公交車線路的車票定價到底該是多少錢?對此,我們的記者也進行了調查,并且向...
2026-07-07
有時天晴有時下着雨
有時天晴有時下着雨
有時天晴有時下着雨?“你真的想好了嗎?”童靜安手裡的動作沒停,将新書拆箱邊分類整理邊問唐甯,“自你和梁見多結婚有六年了吧,一直舉案齊眉的夫妻連争吵都不曾有,現在忽然要離婚,你确定不是遲來的叛逆?”,我來為大家講解一下關于有時天晴有時下着雨?...
2026-07-07
好的兒童雜志推薦
好的兒童雜志推薦
最近,閱讀第一編輯部開了次複盤會,主要是想查漏補缺,看看家長的哪些關鍵需求還沒解決。你别說,還真找到了。我們給大家推薦過很多品類的書籍,比如數學學習、成長思維、腦科學、職業規劃、男孩女孩安全等...然後我們發現:針對孩子人生成長最關鍵的軟技...
2026-07-07
目前推出的個人養老金是怎麼回事
目前推出的個人養老金是怎麼回事
大家好,很高興見到大家,咱們這期内容就來講解一下,個人養老金制度有什麼特點,參保人員需要注意哪些方面?随着個人養老金制度的推進,越來越多的地區開始實施個人養老金制度了,那作為當地的參保人員,都是可以自願繳納個人養老金的,不過,個人養老金有些...
2026-07-07
上海奶茶抗疫
上海奶茶抗疫
日前,成都新一輪新冠肺炎疫情防控形勢嚴峻複雜。為堅決遏制疫情擴散,為牢築成都疫情防控防線。城市居民們都慢下來了,而有些人則不曾停下匆忙的腳步,為奮戰在抗疫第一線的防控工作人員送去自己的支持和祝福。9月2日起,茶百道即依托尚可提供外賣服務的若...
2026-07-07
Copyright 2023-2026 - www.tftnews.com All Rights Reserved