Git:Rebase和Merge之間的區別,看完這篇文章你就懂了!

社區中長期以來一直在爭論我們應該使用Merge還是Rebase。

有人會說Merge更好,因為它保留了最完整的工作歷史。其他人則認為,Rebase變得更整潔,這使審閱者的生活更輕松,更高效。本文將解釋合并和重新設置之間的區別是什么,使用它們之一有什么好處。

從根本上講,合并和rebase提供了相同的目的,以將來自一個分支(有時倍數分支)的變化集成到另一個分支中。最常用的是在打開Pull請求之前將最新的Master或開發分支集成。雖然目的是相同的,但Merge和Rebase達到的方式不同。

> Image by Author

快速了解目標。想象一下,您有一個這樣的分支“功能”,它是從“基礎”的“開發”分支出來的。從那時起,您就完成了C,D,E的工作,并且對develop進行了2個更改,即A,B。現在,您想打開一個pull請求,將“您的功能”集成到“ develop分支”中。。在此之前,您必須將“開發分支”中的更改集成到“您的功能分支”中,這樣您的拉取請求中就不會出現沖突。

Merge

> Image by Author

合并將在您的特征分支中將更改集成,并創建一個新的提交F. F是合并開發分支的提交,如果有的話,對沖突進行排序。此方法將為特征分支帶來Develp分支的更改,即A和B。現在,您的特征分支上的提交是C,A,D,B,E,F.有3個添加到您的功能分支中的其他提交。

Rebase

> Image by Author

另一方面,rebase會移動整個功能分支,就像它從一開始就從開發分支的最新提交分支出來一樣。Rebase將首先搜索功能分支的基礎,然后將其更改為開發分支B上的最新提交,然后根據該基礎B將所有提交重新應用到功能分支上。Rebase實際上是創建新提交,C’,D’,E’。原始提交保持不變。最后,它將要素分支指向的要素從E更改為E’。

優點

這兩種方法之間的最大區別在于,合并保留了作品的完整歷史記錄,包括按時間順序排列,而Rebase使提交變得整潔,僅與分支上的作品相關。當審閱者審閱您的PR時,如果您選擇合并,她將看到A,B,C,D,E,F提交,如果您選擇Rebase,則只會看到C,D,E。

合并具有較高的可追溯性。無論與該公關相關如何,您都可以找到整個工作歷史。但它可能對審稿人來說是痛苦的,因為該分支包括許多無關的犯罪,并且往往很難識別它們。

Rebase的確可以使PR整潔,干凈且相關,而不會產生嘈雜的提交。審閱者可以輕松了解此PR的含義以及該分支內進行的更改。但是,如果您想跟蹤存儲庫的詳盡歷史記錄,可能并沒有太大幫助。

Merge具有更高的可追溯性,而Rebase則更整潔且易于審核。

那我應該使用哪一個?

這實際上取決于您的組織所采用的工作策略。您必須權衡Rebase的價值與Merge可追溯性的價值。這兩種方法也可能同時應用,在某些情況下請使用某種方法。

根據我的個人經驗,Rebase更為有利,因為它提供了與團隊成員合作的更輕松的方式。而且在大多數時候,我們確實應該避免將與我們的工作無關的提交包含在PR中。這很容易導致混亂。

(本文由聞數起舞翻譯自Christopher Tao的文章《The Differences between Rebase and Merge》,轉載請注明出處,原文鏈接:
https://towardsdatascience.com/the-differences-between-rebase-and-merge-30c91cd18f30)

IT技術分享社區

個人博客網站:https://programmerblog.xyz

文章推薦程序員效率:畫流程圖常用的工具程序員效率:整理常用的在線筆記軟件遠程辦公:常用的遠程協助軟件,你都知道嗎?51單片機程序下載、ISP及串口基礎知識硬件:斷路器、接觸器、繼電器基礎知識

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/270807.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/270807.shtml
英文地址,請注明出處:http://en.pswp.cn/news/270807.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

計算機b級英語翻譯,英語B級考試翻譯必備常用短句

英語B級考試翻譯必備常用短句1. Who would say like this?誰會這樣說呢?2. What time shall we leave?我們什么時候出發呢?3. We are going to play golf this Sunday.我們這個星期天要去打高爾夫球。4. Do you want to go out or stay at home?你想出…

weblogic概覽下的上下文根配置_Weblogic服務下獲取上下文路勁問題

問題描述:如果一個項目用weblogic部署的服務,在web_inf文件夾下只有web.xml文件,沒有配置weblogic.xml文件時,這是用類.class.getClassLoader().getResource("").getPath() 該方法獲取到的絕對路勁是如下:/…

干貨:SQLServer數據庫基于PowerDesigner逆向工程生成PDM文件

在日常的開發工程中,很多時候需要提供數據庫設計文檔,如果當時數據庫設計沒有采用PowerDesinger,到后期需要給客戶提供數據庫設計文檔、后期項目運維就會比較麻煩,今天給大家介紹如何使用PowerDesigner的逆向工程生成SQLServer數據…

檢查 Linux 服務器性能

如何用十條命令在一分鐘內檢查 Linux 服務器性能 如果你的Linux服務器突然負載暴增,報警短信快發爆你的手機,如何在最短時間內找出Linux性能問題所在?來看Netflix性能工程團隊的這篇博文,看它們通過十條命令在一分鐘內對機器性能問…

html 圓球的百分比,HTML5 很酷的球形器皿中水波狀的進度條

CSS語言:CSSSCSS確定* {box-sizing: border-box;}html,body {height: 100%;}body {background-color: #1a1a1a;font-family: sans-serif;font-size: 15px;color: #ccc;}input[type"text"] {background-color: transparent;margin-top: 30px;border: 0;bor…

SQLServer基礎:TOP、OFFSET-FETCH、SET ROWCOUNT用法筆記

今天給大家介紹一下TOP、OFFSET-FETCH、SET ROWCOUNT用法筆記,希望對大家能有所幫助!1、 TOP用法語法格式:TOP ( expression ) [ PERCENT ] [ WITH TIES ]expression:返回行數的數值表達式PERCENT:指返回的結果集行的百…

取本地數據_深入理解Kafka服務端之Follower副本如何同步Leader副本的數據

一、場景分析Kafka采用的是主寫主讀的方式,即客戶端的讀寫請求都由分區的Leader副本處理,那么Follower副本要想保證和Leader副本數據一致,就需要不斷地從Leader副本拉取消息來進行同步。由于同一個分區的Leader副本和Follower副本分布在不同的…

用計算機0和1表達難舍之情,表達不舍之情的句子是

1. 表達難舍之情的句子“悲莫悲兮生別離,樂莫樂兮新相知”,離別送行情難自禁。1.與君離別意,同是宦游人。 海內存知己,天涯若比鄰。(王勃《送杜少府之任蜀州》) 2.又送王孫去,萋萋滿別情。(李白《送友人》) 3.春草明年…

SQLServer子查詢相關知識筆記

今天給大家介紹以下SQLServer子查詢相關知識,希望對大家能有所幫助!1、子查詢概念介紹子查詢可以嵌套在SELECT、INSERT、UPDATE、DELETE語句或其他子查詢語句中的查詢,子查詢一般作為查詢中間結果集角色,子查詢也稱為內部查詢或內…

使用react的好處_react的優點是什么呀-問答-阿里云開發者社區-阿里云

首先react通過介紹新的聲明式語法JSX來重新定義視圖開發,優點其實官網就有,不過我可以簡單說兩句:第一,學會了react以及這個JSX語法,你不光可以通過react寫web;也可以通過react-native寫ios或者android的應…

Linux運行級詳解

對于那些在DOS/Win9x/NT平臺下的高級用戶而言,Linux似乎是一個怪物。沒有config.sys,沒有 autoexec.bat,具有個人特色的機器配置不知道從何開始。 需要說明的是,很多人認為Linux是Unix的一個克隆,但是,這種…

軟件:推薦八款電腦實用軟件,你都用過嗎?

今天給大家推薦八款電腦非常實用的軟件,希望對大家能有所幫助!1、Audio Hijack Pro一款Mac 上的錄音軟件。它比較強大的功能是可以錄制多個應用的聲音,然后組合成一個結果,然后輸出。2、快貼一個跨平臺剪切板同步軟件。你只需要簡…

計算機芯片級維修包括哪些,電腦芯片級維修教程

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓讓你足不出門,就能像在培訓班里學芯片級維修一樣,也能成為一位硬件維修工程師。給你節省上千的學費。全部資料從基礎學起,沒電子電路基礎的朋友一樣能很快的上手。讓你開一家專業的計算機硬件芯片…

matlab 神經網絡設計多層隱含層_數據預測之BP神經網絡具體應用以及matlab代碼

1.具體應用實例。根據表2,預測序號15的跳高成績。表2 國內男子跳高運動員各項素質指標序號跳高成績()30行進跑(s)立定三級跳遠()助跑摸高()助跑4—6步跳高()負重深蹲杠鈴()杠鈴半蹲系數100(s)抓舉()12.243.29.63.452.151402.811.05022.333.210.33.752.21203.410.970…

硬件:開機如何進BIOS,U盤啟動快捷鍵一鍵查詢

??作者主頁:IT技術分享社區 ??作者簡介:大家好,我是IT技術分享社區的博主,從事C#、Java開發九年,對數據庫、C#、Java、前端、運維、電腦技巧等經驗豐富。 ??個人榮譽: 數據庫領域優質創作者🏆&#x…

考研計算機專業課統考嗎,09考研計算機專業課統考增至4部分內容

北京考試報訊(記者 陳霄飛) 全國碩士研究生統一入學考試計算機科學與技術學科的初試專業課考試明年將實行聯考。有關考研輔導專家認為,針對初試專業課調整為4部分內容的情況,計劃報考該專業的考生要提早調整復習計劃,適當擴大復習范圍。初試專…