国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Git 變基與合并

這篇具有很好參考價值的文章主要介紹了Git 變基與合并。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、Git 變基與合并

Git 提供了兩種將分支合并到主分支的方法:rebase(合并) 和 merge(變基)。rebase 和 merge 都是用于集成某個分支到另一個分支的方法。然而,它們采用的方法不同。merge 會將兩個分支直接合并成一個新的提交,而 rebase 則是將某個分支的提交復制到另一分支上,然后插入到目標分支的合適位置。下面分別介紹這兩個版本控制策略

1、變基

1.1、變基的工作原理

兩個分支master和feature,其中feature是在提交點B處從master上拉出的分支,master上有一個新提交M,feature上有兩個新提交C和D,如下:

git變基和合并,開發(fā)工具,git

下圖為變基后的提交節(jié)點圖

git變基和合并,開發(fā)工具,git

feature:待變基分支、當前分支;master:基分支、目標分支。當執(zhí)行rebase操作時,git會從兩個分支的共同祖先開始提取待變基分支上的修改,然后將待變基分支指向基分支的最新提交,最后將剛才提取的修改應用到基分支的最新提交的后面。

通俗解釋:rebase(變基),可以直接理解為改變基底。feature分支是基于master分支的B拉出來的分支,feature的基底是B。而master在B之后有新的提交,就相當于此時要用master上新的提交來作為feature分支的新基底。實際操作為把B之后feature的提交存下來,然后刪掉原來這些提交,再找到master的最新提交位置,把存下來的提交再接上去(新節(jié)點新commit id),如此feature分支的基底就相當于變成了M而不是原來的B了。

1.2、變基操作的優(yōu)缺點

優(yōu)點:

  • 歷史記錄簡單 - rebase可以使得歷史記錄更加線性和簡單,比merge更容易理解
  • 減少冗余的commit - rebase會將當前分支的修改整合到目標分支中,因此可以減少不必要的commit數(shù)量

缺點:文章來源地址http://www.zghlxwxcb.cn/news/detail-783350.html

  • 可以改變歷史記錄 - rebase會改變歷史記錄,因此需要謹慎使用
  • 可能會丟失提交記錄 - 如果由于一些原因,rebase失敗,一些提交記錄可能會丟失

2、合并

merge是將兩個分支的內(nèi)容合并成一個新的分支,讓這個新的分支包含兩個分支的內(nèi)容。當執(zhí)行merge時,Git將會創(chuàng)建一個新的commit,合并兩個分支的代碼。

優(yōu)點:

  • 簡單易懂 - merge非常直觀和易于理解
  • 保留歷史記錄 - 由于merge創(chuàng)建了一個新的commit,因此可以在歷史記錄中查看合并的結果,并且不會改變歷史記錄

缺點:

  • 會產(chǎn)生冗余的commit- 由于merge會創(chuàng)建一個新的commit,因此可能會產(chǎn)生許多不必要的commit。
  • 歷史記錄較為復雜 - 多個merge操作可能會導致歷史記錄變得復雜,難以理解。

到了這里,關于Git 變基與合并的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 10.(開發(fā)工具篇vscode+git)vscode如何使用git代碼更新流程
  • Git-團隊開發(fā)及版本控制工具(操作指南)

    Git-團隊開發(fā)及版本控制工具(操作指南)

    下載地址:Git (git-scm.com)?或?Git for Windows 安裝:一般情況一直next就行,詳細請看:Git 詳細安裝教程(詳解 Git 安裝過程的每一個步驟)_git安裝-CSDN博客 安裝之后校驗是否成功:如果出現(xiàn)版本號就說明安裝成功了 2.1初始化本地倉庫 初始化之后文件夾有一個.git文件,如果沒有請

    2024年03月15日
    瀏覽(99)
  • 開發(fā)工具:git 提交時過濾不必要的文件

    開發(fā)工具:git 提交時過濾不必要的文件

    我是 ABin-阿斌:寫一生代碼,創(chuàng)一世佳話,筑一覽芳華。如果小伙伴們覺得不錯就一鍵三連吧~ 有時候我們在 IDEA 中 git 提交時會出現(xiàn)一些不必要的文件讓我們提交,那么這個時候我們?nèi)绾伪苊膺@些文件被 git 識別到,請看下方解決方案。 比如這個提交,會有很多的這種:Ma

    2024年02月11日
    瀏覽(20)
  • Linux基礎——Linux開發(fā)工具(make/makefile,git)

    Linux基礎——Linux開發(fā)工具(make/makefile,git)

    前言:在經(jīng)過前面兩篇學習,大家對Linux開發(fā)工具都有一定的了解,而在此之前最重要的兩個工具就是vim,gcc。 如果對這兩個工具不太了解,可以先閱讀這兩篇文章: Linux開發(fā)工具 (vim) Linux開發(fā)工具 (gcc/g++) 首先讓我們來初步了解一下本篇的目標: 1. 學習make/makefile,并能簡單

    2024年04月27日
    瀏覽(31)
  • C/C++開發(fā),關閉vscode中的插件git工具

    C/C++開發(fā),關閉vscode中的插件git工具

    安裝git后,有git配置的路徑,vscode會通過git進行檢測。關閉vscode中的插件git工具方法如下:

    2024年02月11日
    瀏覽(27)
  • 12.(開發(fā)工具篇vscode+git)vscode 不能識別npm命令

    12.(開發(fā)工具篇vscode+git)vscode 不能識別npm命令

    問題描述: 解決方式: (1)右擊VSCode圖標,選擇以管理員身份運行; (2)在終端中執(zhí)行get-ExecutionPolicy,顯示Restricted,表示狀態(tài)是禁止的; (3)這時執(zhí)行set-ExecutionPolicy RemoteSigned; (4)此時再執(zhí)行get-ExecutionPolicy,顯示RemoteSigned,則表示狀態(tài)解禁,可以運行 (5)重啟

    2024年02月16日
    瀏覽(20)
  • 18.(開發(fā)工具篇Gitlab)Git如何回退到指定版本

    18.(開發(fā)工具篇Gitlab)Git如何回退到指定版本

    首先: 使用git log命令查看提交歷史,找到想要回退的版本的commit id. 第一步:git reset --hard 命令是強制回到某一個版本。執(zhí)行后本地工程回退到該版本。 第二步:利用git push -f命令強制推到遠程 如下所示: 優(yōu)點:干凈利落,回滾后完全回到最初狀態(tài)。 缺點: (1)需要找到你要

    2024年02月04日
    瀏覽(23)
  • Git 管理工具 SourceTree 的使用(上手簡單,不熟悉git命令的開發(fā)者必用)

    Git 管理工具 SourceTree 的使用(上手簡單,不熟悉git命令的開發(fā)者必用)

    目錄 一、SourceTree 概述 二、SourceTree 使用方法 1. 克隆 Git 倉庫至本地 2. 推送本地的文件至遠程倉庫 3. 創(chuàng)建/切換/合并分支 4. 版本回退 ????????SourceTree 是一款免費的 Git 和 Hg 客戶端管理工具,支持 Git 項目的創(chuàng)建、克隆、提交、push、pull 和合并等操作。它擁有一個精美簡

    2024年02月01日
    瀏覽(33)
  • 【linux基礎(七)】Linux中的開發(fā)工具(下)--make/makefile和git

    【linux基礎(七)】Linux中的開發(fā)工具(下)--make/makefile和git

    ??博主CSDN主頁:杭電碼農(nóng)-NEO?? ? ?專欄分類:Linux從入門到開通? ? ??代碼倉庫:NEO的學習日記?? ? ??關注我??帶你學更多操作系統(tǒng)知識 ? ???? 如果你不知道什么是vim和gcc 請先閱讀這兩篇文章后再學習本節(jié): 文章一: vim和yum 文章二: gcc/g++ 本章重點: 本篇文章會著重講

    2024年02月08日
    瀏覽(21)
  • 【手寫數(shù)據(jù)庫toadb】02 開發(fā)數(shù)據(jù)庫內(nèi)核準備階段-git工具使用

    ? 專欄內(nèi)容 : 手寫數(shù)據(jù)庫toadb 本專欄主要介紹如何從零開發(fā),開發(fā)的步驟,以及開發(fā)過程中的涉及的原理,遇到的問題等,讓大家能跟上并且可以一起開發(fā),讓每個需要的人成為參與者。 本專欄會定期更新,對應的代碼也會定期更新,每個階段的代碼會打上tag,方便階段學

    2024年01月24日
    瀏覽(35)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包