首页
/
每日頭條
/
圖文
/
git代碼合并的方式
git代碼合并的方式
更新时间:2026-04-15 07:56:23

在 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-04-15
ar增強現實趨勢
ar增強現實趨勢
#我在頭條搞創作第二期#首先聲明,增強現實AR是一種常見的呈現方式,AR眼鏡隻能算是其中一種比較酷炫、更科幻的顯示形式。我們要站到更底層的地方、用更樸素的眼光去了解增強現實。AR的特點是既能看到真實場景,又能看到虛拟圖像,甚至二者可以融合。...
2026-04-15
35歲會有嚴重的前列腺增生嗎
35歲會有嚴重的前列腺增生嗎
住在樓上的張大叔最近精神萎靡不振,經常長籲短歎。相熟的一些朋友都很擔心,但是張大叔似乎并不願意透露自己的情況。直到後來,我們從相熟的一個朋友口中得知,張大叔最近經常多尿、出現尿意時有時候卻尿不出來,這讓她感到難以啟齒。一行人聽完後,便覺得應...
2026-04-15
誘發甲狀腺癌的原因有哪些
誘發甲狀腺癌的原因有哪些
近年來,甲狀腺癌的發病率也在增加,人們對這種疾病也越來越了解。這種癌症疾病多發生在女性朋友身上,所以在生活中要多了解這些癌症疾病的誘發因素,以便在日常生活中做好癌症疾病的預防工作。甲狀腺癌也是惡性腫瘤,那麼甲狀腺癌的誘發因素有哪些呢?讓我們...
2026-04-15
膝關節各部位疼痛
膝關節各部位疼痛
膝關節各部位疼痛?膝關節疼痛的患者一般在中老年見多,臨床表現為側副韌帶損傷、半月闆損傷、腓骨軟化、膝關節增生、膝關節腫脹、膝關節積液醫學界存在普遍認識,認為跟登山、久走、爬樓、劇烈運動,慢性機械損傷有關,也跟年齡老化、關節腔分泌膠狀蛋白減少...
2026-04-15
Copyright 2023-2026 - www.tftnews.com All Rights Reserved