首页
/
每日頭條
/
圖文
/
git代碼合并的方式
git代碼合并的方式
更新时间:2026-07-08 00:01:14

在 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-07-08
abb中的io控制指令有哪些(ABB停止指令StopExitBreak的區别)
abb中的io控制指令有哪些(ABB停止指令StopExitBreak的區别)
  ABB工業機器人STOP指令用于停止程序執行。在Stop指令就緒之前,将完成當前執行的所有移動。該指令的使用格式為:   Stop [ \NoRegain ] | [ \AllMoveTasks ];   如果STOP指令使用變量\NoRegain,若機械臂和外軸已遠離停止位置,則不會再返回;如果不使用變量\NoRegain,若機械臂和外軸已逐漸遠離停止...
2026-07-08
馬斯克創新精神(傑克遜既開放又敏感)
馬斯克創新精神(傑克遜既開放又敏感)
  “如果她在舞台上飾演一個悍婦,在街道上她會表現得像一個淑女。如果飾演男人渴求的性感女郎,她會穿上男士西裝,扭曲性别的界限。”      約瑟芬·貝克專輯封面   這是女性研究學者阿莉恰·索溫絲卡(Alicja Sowinska)對一位傳奇女性的生動描述。   從才華橫溢的舞蹈表演家到獲得法國戴高樂總統親授勳章的情報工作者,在這位女性身上,魅力、決心、藝術...
2026-07-08
兒子兒媳們到外地出差(去兒子家吃喝玩樂)
兒子兒媳們到外地出差(去兒子家吃喝玩樂)
  顧大媽的一生并不平凡,她是一個堅強的農村婦女,她和她的愛人一起勤勞地耕種土地,養育了兩個可愛的兒子。她的夢想很簡單,就是希望兩個兒子能夠有出息,過上幸福的生活。   然而,命運卻給了她一個沉重的打擊,大兒子剛剛考上了理想的大學,她和她的愛人歡天喜地地送他去學校。誰知道,那一年的暑假,他們父子倆在水庫遊玩時,遭遇了意外,雙雙溺水身亡。顧大媽痛不欲生,隻剩下...
2026-07-08
紅旗l5跟勞斯萊斯路口相遇(勞斯萊斯街頭逆行)
紅旗l5跟勞斯萊斯路口相遇(勞斯萊斯街頭逆行)
  在馬路上逆行是非常危險的行為,因為每一條車道它有一個固定的走向,車子都隻能按照一個方向行駛,如果馬路上出現了一輛逆行的汽車,就會給其他車主帶來麻煩,也會擾亂交通秩序,所以交通部門對于逆行的車輛也會進行嚴查。勞斯萊斯街頭逆行,紅旗L5絲毫不讓,網友:碰上硬茬了。      可是有一些車主在開車的時候卻非常不注意遵守交通規則,哪怕是在一些車流量比較大的路段,...
2026-07-08
Copyright 2023-2026 - www.tftnews.com All Rights Reserved