首页
/
每日頭條
/
圖文
/
git代碼合并的方式
git代碼合并的方式
更新时间:2026-09-02 09:22:58

在 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-09-02
夜讀人生三種境界
夜讀人生三種境界
坦然接受命運的給予。一個人成熟的标志是什麼?有種回答是:“戒掉情緒内耗,收起張揚,接納無常。”一個人真正的成熟,從來不是年齡的增長,而是心智的成熟。越發明白:保持低調和鈍感力,能夠接納生活的無常,才是一個人成熟的開始。内心淡然,處世泰然,才...
2026-09-02
臉上突然好多老年斑是怎麼回事
臉上突然好多老年斑是怎麼回事
愛美之心人皆有之老年人容易長“老年斑”然而不少中青年人臉上也長起“老年斑”了解“老年斑”老年斑是一種常見的損容性皮膚病,好發于面部,雖然對身體無害,但影響容貌,也提示着身體趨向衰老,因而增加了人們的心理壓力,造成了不同程度的煩惱。老年斑,在...
2026-09-02
四大皆空定義是什麼
四大皆空定義是什麼
四大皆空:佛教用語,指世界上一切都是空虛的。(印度古代認為地、水、火、風是組成宇宙的四種元素,佛教稱為四大。)佛教中的“四大”主要指佛教術語。指地、水、火、風為四種構成物質的基本元素。謂地、水、火、風四種物體均能保持各自的形态,不相紊亂。佛...
2026-09-02
體現母親河的詩句
體現母親河的詩句
長江全長6300餘公裡,居世界第三位,流域面積達180萬平方公裡,同樣作為中華的母親河,中國人對長江的認知比黃河遲滞了不止千年。而長江逆襲成為中國經濟文化的新高地也不過是最近數百年的事長久以來,長江的源頭不為人知,這并不是因為前人不努力。實...
2026-09-02
Copyright 2023-2026 - www.tftnews.com All Rights Reserved