首页
/
每日頭條
/
圖文
/
git代碼合并的方式
git代碼合并的方式
更新时间:2026-10-28 19:54:44

在 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-10-28
加拿大一枝黃花為什麼是生态殺手
加拿大一枝黃花為什麼是生态殺手
最近,“加拿大一枝黃花”引發關注,因其極具危害性,是一種非常“兇猛”的入侵物種,被我國列入《中國外來入侵物種名單》。近日,有網友反映,成都疑似出現“加拿大一枝黃花”,花市裡好像還有售賣。紅星新聞記者随後聯系到成都市林業和草原有害生物防治檢疫...
2026-10-28
劍三寵物物品可以一起用嗎
劍三寵物物品可以一起用嗎
劍三寵物物品可以一起用嗎?網遊由于其特殊的遊戲設計思路、不斷更新的遊戲内容,常常需要玩家長期遊玩遊戲,在上面消耗較多的時間,今天小編就來聊一聊關于劍三寵物物品可以一起用嗎?接下來我們就一起去研究一下吧!劍三寵物物品可以一起用嗎網遊由于其特殊...
2026-10-28
陽春三月櫻花飄香
陽春三月櫻花飄香
陽春三月的石屏大地春意盎然,各種野花争相綻放,走進壩心鎮何保寨,山間雪白的棠梨花一樹樹綻放。漂亮的花兒不僅給春天增添了一抹色彩,也給食客們帶來了味覺上的享受。家住壩心鎮陸來村的龍鳳在當地經營着一家民宿,由于平日裡喜歡烹饪美食,一大早便帶着竹...
2026-10-28
鐘馗适合帶什麼召喚師技能
鐘馗适合帶什麼召喚師技能
衆所周知,在王者榮耀之中,鐘馗的傷害能力在現版本是真的很強勢的,尤其是他的鈎子,更是讓敵人聞風喪膽,那麼本期小螃蟹就來說一下,他最适合帶的召喚師技能是哪個吧,下面一起來看看!首先第一個就是我們的終結了,這個召喚師技能可以說是很多戰士的必備了...
2026-10-28
Copyright 2023-2026 - www.tftnews.com All Rights Reserved