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

在 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-03-25
仙逆的坑有哪些
仙逆的坑有哪些
仙洋是仙家的掌舵人!本來在YY直播挺好,但看到快手的潛力和豐厚的money!于是直接來到快手直播!但是與YY有合同在身,最後賠了YY一大筆錢!自己卻受到牌牌琦的拖累(社會搖),與牌牌琦先後被封殺!仙洋在快手直播時間不是太長,剛賠完YY的官司...
2026-03-25
用漢字學法語
用漢字學法語
漢字悟語之“哦”聊天止于“呵呵”,分手源于“哦”。這是當今網絡聊天中告誡人們的一句警示名言。根據網友調查顯示,“哈哈”最不招人讨厭,隻有5%的人不喜歡。排名倒數第二的是“呵呵”,隻有9%的人不喜歡。57%的人都選擇了“哦”。一個毫不足道的語...
2026-03-25
末日來臨我獲得無限資源系統
末日來臨我獲得無限資源系統
末世來啦,跟夥伴們一起打喪屍,收集物資,努力活下去。《末世輪回(快穿)》作者:從0簡介:“末日來臨,您想要活下去嗎?”一場病毒的爆發,讓秦亦成為了一個末世生存遊戲中的玩家。為了活下去,她開始在不同的末世之中戰鬥……書評:一個得了癌症的女孩子...
2026-03-25
新番日漫推薦排行榜
新番日漫推薦排行榜
數據參考:bilibili第一部:《少年好萊塢》追番人數:兩季共2.1萬追番曾經被稱作傳說的偶像團體“少年好萊塢”活躍過的劇場“好萊塢東京”。15年後聚集在這裡“好萊鎢東京”劇場的5位少年,風見飒、佐伯希星、甘木生馬、富井大樹、舞山春,不清...
2026-03-25
Copyright 2023-2026 - www.tftnews.com All Rights Reserved