首页
/
每日頭條
/
圖文
/
git代碼合并的方式
git代碼合并的方式
更新时间:2026-03-27 05:34:16

在 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-27
老北京的炸醬面做法與配料
老北京的炸醬面做法與配料
我國地廣物博,更是在各個地區形成了本地最具特色的飲食文化,每個城市都有它自己的味道,想提到山東,我們就能想到山東臨沂大煎餅,提到四川,我們就能想到有名的重慶火鍋,更是在地方特色菜方面形成了著名的八大菜系,什麼川菜、浙菜、魯菜、閩菜等等。而今...
2026-03-27
矯正牙齒隐形牙套的全過程
矯正牙齒隐形牙套的全過程
知乎上有個話題:為什麼會這樣呢?要知道整牙堪比整容啊!很多女生漂亮,正是因為做了正畸才漂亮的呀!牙齒對相貌的影響是很大的:當前牙位置發生改變時,嘴唇的前後位置和唇齒關系也相應改變,這樣就會帶來鼻子以下或面部1/3的容貌變化。比如凸出的嘴唇變...
2026-03-27
行書簡單毛筆書法欣賞
行書簡單毛筆書法欣賞
前言:歡迎您來到清雅閣,清雅閣的創辦初衷便是以傳承中華文化精神,發揚中國國粹藝術。為廣大藝術愛好者搭建藝術交流平台,我們将始終秉持創作優質書畫内容的宗旨砥砺前行。如果喜歡我們的内容,敬請關注、點贊、收藏、分享、轉發。您的每一次參與都是我們創...
2026-03-27
唯有家能給予最好的安全感
唯有家能給予最好的安全感
離家多年,我們都在尋找一個歸屬感有人說,在冰涼的都市裡有了房子就有了歸屬感是的,因為這是屬于你自己的相比每天住在出租屋裡擔心房東哪天不租了...安全感非常低那麼有了房子之後更進一步的追求是什麼呢比房子給安全感進一步的那就是院子每個人心中都有...
2026-03-27
Copyright 2023-2026 - www.tftnews.com All Rights Reserved