首页
/
每日頭條
/
圖文
/
git代碼合并的方式
git代碼合并的方式
更新时间:2024-10-01 02:22: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
推荐阅读
舌頭是青色的怎麼辦
舌頭是青色的怎麼辦
舌頭是青色的怎麼辦?舌見青色,《舌胎統志》形容其"如水牛之舌"瘀阻而引起,下面我們就來說一說關于舌頭是青色的怎麼辦?我們一起去了解并探讨一下這個問題吧!舌頭是青色的怎麼辦舌青問題:怎麼才能每天都收到這種文章呢?答案:隻需要點擊右上角“關注”...
2024-10-01
麥田怪圈是外星人弄的嗎
麥田怪圈是外星人弄的嗎
【歡迎關注本賬号,及時獲取國際教育,科技,文化,經濟,社會及世界語(Esperanto)最新資訊】神秘麥田的秘密終于解開了,外星人背鍋多年現在世界"麥田怪圈"一直都是個争論的話題,很多人都在想是不是外星人"UFO"留下的标記,這個說法就讓這...
2024-10-01
上海主持人楊悅
上海主持人楊悅
作為地方衛視的龍頭之一,東方衛視有着不錯的收視基礎,而且很多節目也是做得很精彩,但是在主持人方面,卻鮮有能拿得出手的這麼多年了,男主持人裡,除了曹可凡,林海,程雷,女主持人裡,陳蓉,陳辰最有名,但是年輕一輩裡,真的是很有有冒出頭的其實為了後...
2024-10-01
居然之家質量
居然之家質量
2019年8月25日,美國三大床墊品牌之一的絲漣床墊在北京居然之家家之尊旗艦店重裝升級,絲漣中國北方區總經理孫輝表示,在升級家之尊的同時,絲漣還将下沉渠道到四五六線城市,2019年在中國的門店數量将達到700家。絲漣北京居然之家家之尊旗艦店...
2024-10-01
必須作為一條不可逾越的紅線
必須作為一條不可逾越的紅線
今年6月是第二十一個全國“安全生産月”,主題為“遵守安全生産法,當好第一責任人”。安全生産事關人民福祉,事關經濟社會發展大局。黨的十八大以來,對安全生産工作多次發表重要講話、作出重要批示,深刻論述安全生産紅線、安全發展戰略、安全生産責任制等...
2024-10-01
Copyright 2023-2024 - www.tftnews.com All Rights Reserved