首页
/
每日頭條
/
圖文
/
git代碼合并的方式
git代碼合并的方式
更新时间:2026-03-31 12:09: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
推荐阅读
今生緣婚慶禮儀
今生緣婚慶禮儀
2020年1月9日上午十點,由河南廣播電視台大象融媒睛彩中原頻道《家有喜事》欄目主辦,江蘇今世緣酒業股份有限公司獨家冠名,河南今世緣婚慶服務股份有限公司承辦的今世緣杯河南婚慶人電視技能大賽啟動儀式在河南大象融媒體集團新聞發布廳隆重舉辦。今世...
2026-03-31
藏紅花能不能補血
藏紅花能不能補血
中醫說法:養血、活血、補血、行血、理血等;通俗說法:增強體質,養血美膚,調神靜氣,調節内分泌;西方說法:女性和老年人的保健,對于神經衰弱、驚悸、經閉、産後血瘀,内分泌失調引發的色斑等症醫療效果超好;對于女性:可改善血虧體虛、月經不調、産後淤...
2026-03-31
一個月比熊犬怎麼訓練
一個月比熊犬怎麼訓練
對比熊犬的訓練可以随時随地訓練進行。我們訓練狗狗往往有一個誤區,就是比熊訓練是有時間限制的,其實是錯誤的。我們在散步、吃飯、來客等一些日常生活中,都應耐心地教比熊犬哪些是“該做”,哪些是“不該做”的事。主人應知道的訓練比熊犬的常識買了比熊犬...
2026-03-31
國家真正控制的國企有幾個
國家真正控制的國企有幾個
經過不懈的努力,我國終于成為了僅次于美國的世界第二大經濟體。而這些成功背後,不僅要感謝每個人的努力,也得感謝各大企業的付出。說起來有些誇張,但的确一個企業帶來的經濟财富,往往都要超越一個人帶來的經濟财富。所以企業在經濟發展的道路上,扮演着極...
2026-03-31
一般的地鐵運營時間
一般的地鐵運營時間
大家出行最常用的交通工具是什麼呢?對于很多人而言,地鐵是他們出行最常用的交通方式,那麼大家知道“地鐵”的英文翻譯嗎?比如大家知道北京的叫做BeijingSubway,而南方通常叫做Metro,香港地鐵叫MTR,而倫敦的叫undergroun...
2026-03-31
Copyright 2023-2026 - www.tftnews.com All Rights Reserved