首页
/
每日頭條
/
職場
/
git merge與rebase 使用場景
git merge與rebase 使用場景
更新时间:2025-01-22 15:53:25
概述

一直以來對git的rebase和merge命令都有點混淆,剛好有朋友問到這一塊,所以也抽空去整理了下這方面内容,以作備忘!


merge和rebase

git的merge和rebase都是用來合并分支的。

這裡不多解釋rebase命令,以及兩個命令的原理,下面主要說的是兩者在實際操作中的區别。

git merge與rebase 使用場景(詳解git在工作中的merge和rebase功能及區别)1


什麼是分支

分支就是便于多人在同一項目中的協作開發。比方說:每個人開發不同的功能,在各自的分支開發過程中互不影響,完成後都提交到develop分支。極大的提高了開發的效率。


合并分支

每個人創建一個分支進行開發,當開發完成,需要合并到develop分支的時候,就需要用到合并的命令。


什麼是沖突

合并的時候,有可能會産生沖突。

沖突的産生是因為在合并的時候,不同分支修改了相同的位置。所以在合并的時候git不知道那個到底是你想保留的,所以就提出疑問(沖突提醒)讓你自己手動選擇想要保留的内容,從而解決沖突。


merge和rebase的區别

1、采用merge和rebase後,git log的區别,merge命令不會保留merge的分支的commit

git merge與rebase 使用場景(詳解git在工作中的merge和rebase功能及區别)2

2、處理沖突的方式:

  • (一股腦)使用merge命令合并分支,解決完沖突,執行git add .和git commit -m'fix conflict'。這個時候會産生一個commit。
  • (交互式)使用rebase命令合并分支,解決完沖突,執行git add .和git rebase --continue,不會産生額外的commit。這樣的好處是,‘幹淨’,分支上不會有無意義的解決分支的commit;壞處,如果合并的分支中存在多個commit,需要重複處理多次沖突。

3、git pull和git pull --rebase區别

git pull做了兩個操作分别是‘獲取’和合并。所以加了rebase就是以rebase的方式進行合并分支,默認為merge。


git merge 和 git merge --no-ff的區别

1、隻有在沖突的時候,解決完沖突才會自動産生一個commit。

如果想在沒有沖突的情況下也自動生成一個commit,記錄此次合并就可以用:git merge --no-ff命令,下面用一張圖來表示兩者的區别:

git merge與rebase 使用場景(詳解git在工作中的merge和rebase功能及區别)3

2、如果不加 --no-ff 則被合并的分支之前的commit都會被抹去,隻會保留一個解決沖突後的 merge commit。


如何選擇合并分支的方式

我的理解:主要是看那個命令用的熟練,能夠有效的管理自己的代碼;還有就是團隊用的是那種方式。

我對于rebase比較熟悉,所以我一般都用rebase,但是現在的公司用的是merge --no-ff命令合并分支。所以,我在工作上就用merge,個人項目就用rebase。

也可以兩者結合:

  • 獲取遠程項目中最新代碼時:git pull --rebase,這個時隐性的合并遠程分支的代碼不會産生而外的commit(但是如果存在沖突的commit太多就像上面說的,需要處理很多遍沖突)。
  • 合并到分支的時候:git merge --no-ff,自動一個merge commit,便于管理(這看管理人員怎麼認為了)

總結

其實看懂上面的兩幅圖就行了。注意兩點:commit log的區别和處理沖突的方式。

後面會分享更多devops和DBA方面的内容,感興趣的朋友可以關注一下~

git merge與rebase 使用場景(詳解git在工作中的merge和rebase功能及區别)4

,
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
推荐阅读
女上司經常發語音怎麼回事(同事連發5條60秒語音)
女上司經常發語音怎麼回事(同事連發5條60秒語音)
  最近幾天大家都開始了在家辦公模式,每天睡到八點起床工作,也不用上下班通勤,倒也有滋有味。   但是朋友小李卻和我抱怨,在家辦公真的是太難了。   小李是個部門主管,每天早上定好了九點微信開會,不是這個沒到就是那個沒到。不僅如此,他還會在已經上床休息的時候收到員工發來的工作報告,有個同事連發5條60秒語音,搞得他在休息時間還要處理問題,真的是令人頭大。  ...
2025-01-22
excel工作簿默認有幾張工作表(更改Excel2007工作簿中默認的工作表張數)
excel工作簿默認有幾張工作表(更改Excel2007工作簿中默認的工作表張數)
  新建一個工作簿後,該工作簿中包含有三張空白工作表,分别為Sheet1、Sheet2、Sheet3。Excel 2007工作表标簽效果如圖1所示。      新建工作簿   圖1   用戶可以更改Excel2007工作簿中默認的工作表張數,操作步驟如下:   步驟1單擊“Office”按鈕,在顯示的菜單中單擊“Excel選項”按鈕,打開“Excel選項”對...
2025-01-22
yy阿哲跟雨軒為啥鬧掰(阿哲态度堅決不諒解雨軒)
yy阿哲跟雨軒為啥鬧掰(阿哲态度堅決不諒解雨軒)
  IR主播雨軒曾經和當紅主播阿哲關系特别好,形同兄弟。但後來兩人因為一些原因決裂,最後因為雨軒在直播間有涉及阿哲的違規言論,被阿哲舉報凍結了直播權限一年。      舍得最開始玩玩YY的時候是支持阿哲的土豪,給阿哲刷了不少禮物,和阿哲的關系一直特别好。因為在直播間涉及IR公會的違規言論連續被IR公會舉報,将被凍結直播間一年,但後來事情有了轉機,IR公會希望...
2025-01-22
天刀手遊裡哪個職業平民玩家首選(天刀手遊這幾個職業不要碰)
天刀手遊裡哪個職業平民玩家首選(天刀手遊這幾個職業不要碰)
  備受期待的天刀手遊,眼看着就要正式全平台上線了。許多玩家已經預約很久,呼朋喚友等待一起進入遊戲了。作為騰訊這幾年手遊最大牌的遊戲,經曆多輪測試,幾次跳票,終于即将和所有玩家見面。   許多新人玩家前期并沒有參加測試,對職業的選擇大多憑借喜好。但作為一款道具收費遊戲,并擁有一定的操作性,一些看似強力的職業,絕對不是你進遊戲的第一選擇。      那麼作為一...
2025-01-22
職場上聰明人怎麼說話(人們常說的會說話到底是什麼)
職場上聰明人怎麼說話(人們常說的會說話到底是什麼)
     會說話,更多情況下是信息的準确傳達。   從甲方到乙方能夠原原本本把信息傳達完畢,把事情交接完畢,沒有曲解别人的意思,也沒有添油加醋的做法,原汁原味的信息傳達和踏踏實實的執行,才是會辦事的核心點。   通常情況下,會說話有着這樣的方法:   1. 采用重要和次要信息層級劃分的方式進行傳達。讀書的時候,班級上對學生的成績會做一個排名,遵行第一名、第二...
2025-01-22
Copyright 2023-2025 - www.tftnews.com All Rights Reserved