首页
/
每日頭條
/
圖文
/
git代碼合并的方式
git代碼合并的方式
更新时间:2026-06-23 16:27:49

在 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
推荐阅读
cfa通過後如何才能獲得證書
cfa通過後如何才能獲得證書
辛辛苦苦通過了CFA三級考試,也達到了CFA工作經驗,考生就可以申請CFA證書了,那今天我們來看看CFA證書申請吧!首先還得看看CFA證書申請的需要哪些條件:1、依次通過三個級别的考試;2、具有四年或以上的CFA認可的與投資決策過程相關的專...
2026-06-23
為什麼網紅蛋糕那麼貴
為什麼網紅蛋糕那麼貴
網紅蛋糕LADYM即将在9月10日關閉中國内地市場全部現有門店,就在日前,第一财經記者來到該品牌一家門店内,親測了75元一塊蛋糕的LADYM網紅蛋糕,即便高價如斯,店内依然有大量客人排隊購買。就在近期,不僅是LADYM,知名烘焙連鎖品牌克莉...
2026-06-23
童年記憶進化史
童年記憶進化史
點擊關注,了解更多精彩内容!!努力陪伴孩子成長的中年胖子。記憶法自古就有,特别是造紙術出現以前,更是如此。記憶法的瞎想粗淺看下來,曆史的發展進展,連加速度也是加速的。也許是因為知識傳遞載體的限制,所以總是在小範圍内流傳。這也就是出現加密解密...
2026-06-23
空氣能熱水器一般設置多少溫度
空氣能熱水器一般設置多少溫度
很多别墅和大平方空間的洗浴室,衛生間,廚房等涉及多點用水的建築,每個洗浴室安裝單獨的熱水器無法使用戶享受到高水平的生活質量,很多設計師會将大容量的空氣能熱水器融入到室内中央供水系統中,一台熱水器,即可解決全屋熱水供應,即開即用,方便又安全,...
2026-06-23
2022年王者kpl季後賽
2022年王者kpl季後賽
作為王者榮耀賽事體系中最具競技性和觀賞性的頂級賽事——KPL職業聯賽将在12月8号和9号迎來東、西部兩個大區的決賽。想一睹頂尖選手的競技姿态嗎?想與朋友暢快聊王者嗎?想感受比賽激情四射的現場嗎?《王者人生》App官方合作商家聯動數百商家開啟...
2026-06-23
Copyright 2023-2026 - www.tftnews.com All Rights Reserved