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

在 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
推荐阅读
新都國際商貿城服裝批發
新都國際商貿城服裝批發
市場名稱:上海興旺國際服裝城地址:上海市虹口區七浦路133号市場主要經營業務:精品男女裝,時尚女裝,外貿服飾市場主要經營款式:連衣裙,上衣,短袖,針織衫,牛仔、西服,褲子。營業時間:早上8:00----19:00市場停車場收費标準:有自己的...
2026-11-11
心電圖結果窦性心律不齊是正常嗎
心電圖結果窦性心律不齊是正常嗎
什麼是窦性心律不齊?指的是窦性心律的起源未變,但節律不整,在同一導聯上P-P間期差異>0.12s。窦性心律不齊常與窦性心動過緩同時存在。較常見的一類心律不齊與呼吸周期有關,稱呼吸性窦性心律不齊,多見于青少年,一般無臨床意義。另有一些比較少見...
2026-11-11
水準儀與經緯儀測量的操作流程
水準儀與經緯儀測量的操作流程
做過工程測量的都知道,測量是一個十分繁瑣複雜的工作,往往一個小失誤很可能造成大錯,但是測量使用的儀器很多又複雜,想全部學會,真的不容易。前兩天我們項目經理發了一份全站儀水準儀經緯儀全面使用教程,包含各種儀器的使用方法,還有四等水準測量、三維...
2026-11-11
西安的手工面怎麼煮
西安的手工面怎麼煮
我一直是個面食愛好者,幾年前去西安旅遊的時候,當地種類繁多的面食讓我大開眼界,吃的特别過瘾。有時候看電視劇看到陝西那一帶的面還是忍不住咽口水。直到最近發現廈門這家面館,味道跟我在西安吃的一樣。忍不住把好料分享給大家。天賜好面·陝西手工面大師...
2026-11-11
微信聊天如何錄音
微信聊天如何錄音
小米9今天打開通話錄音看到支持QQ微信語音通話錄音了,不錯這個功能終于下放小米9機型了,有用小米9的米粉打開看看吧,要最新開發版的,穩定版不知有沒有就不知道了。,
2026-11-11
Copyright 2023-2026 - www.tftnews.com All Rights Reserved