使用 rebase 輕松管理主干分支

前言

最近遇到一個技術團隊的 dev 環境分支錯亂,因為是多人合作大家各自提交信息,導致出現很多交叉合并記錄,讓對應 log 看起來非常混亂,難以閱讀。

舉例說明

  1. 假設我們有一個項目,最初develop分支有 3 個提交記錄,分別是A、B、C,如下所示
A
B
C
  1. 此時,我們創建了一個feature分支用于開發新功能,feature分支基于A提交創建,并且有D、E、F三個提交記錄,此時的分支情況如下:
A
B
C
D
E
F
  1. 如果不進行rebase操作,直接將feature分支合并到develop分支,Git 會自動創建一個合并提交,這樣提交歷史會變得復雜,呈現出非線性的結構,如下所示:
A
B
C
D
E
F
Merge

這種情況下,提交歷史中會出現許多交叉的合并記錄,如果同時并線的不只是一個 feature 分支,在就會并行好幾個線,非常混亂。

  1. 而此時如果我們現在 feature 分支上進行 rebase1操作,則會呈現如下效果。
A
B
C
D'
E'
F'

可以看到,feature分支的提交歷史變得更加線性,基于develop分支的最新狀態進行了調整。

  1. 此時再將feature分支合并到develop分支,就會簡單很多,提交歷史也更加清晰、整潔,如下所示:
A
B
C
D'
E'
F'
Merge'

這樣就更加一目了然了,在進行異常的問題定位更加容易確定問題。

Tips

可以使用以下命令查看你們當前團隊的分支情況

# 可以使用
git log --graph --oneline

如果主干分支出現以下情況,就可以考慮使用 rebase 變基操作了。
在這里插入圖片描述


  1. 在 feature 分支(開發分支)上執行 git rebase develop (主干分支)。 ??

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

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

相關文章

使用openssl為localhost創建自簽名

文章目錄 自簽名生成命令安裝安裝證書瀏覽器證書管理器 自簽名 生成命令 使用openssl生成私鑰和證書。 openssl req -x509 -newkey rsa:4096 -nodes -days 365 -subj "/CNlocalhost" -addext "subjectAltNameDNS:localhost" -keyout cert.key -out cer…

AI編程助手Cline之快速介紹

Cline 是一款深度集成在 Visual Studio Code(VSCode) 中的開源 AI 編程助手插件,旨在通過結合大語言模型(如 Claude 3.5 Sonnet、DeepSeek V3、Google Gemini 等)和工具鏈,為開發者提供自動化任務執行、智能…

1.微服務拆分與通信模式

目錄 一、微服務拆分原則與策略 業務驅動拆分方法論 ? DDD(領域驅動設計)中的限界上下文劃分 ? 業務功能正交性評估(高內聚、低耦合) 技術架構拆分策略 ? 數據層拆分(垂直分庫 vs 水平分表) ? 服務粒…

Element Plus表格組件深度解析:構建高性能企業級數據視圖

一、架構設計與核心能力 Element Plus的表格組件(el-table)基于Vue 3的響應式系統構建,通過聲明式配置實現復雜數據渲染。其核心設計理念體現在三個層級: 數據驅動:通過data屬性綁定數據源,支持動態更新與…

07前端項目----面包屑

面包屑 效果實現代碼全局事件總線-$bus 效果 實現代碼 上節searchParams中參數categoryName是表示一二三級分類所點擊的列表名 <!--bread面包屑--> <div class"bread"><ul class"fl sui-breadcrumb"><li><a href"#"…

kafka jdbc connector適配kadb數據實時同步

測試結論 源端增量獲取方式包括&#xff1a;bulk、incrementing、timestamp、incrementingtimestamp&#xff08;混合&#xff09;&#xff0c;各種方式說明如下&#xff1a; bulk: 一次同步整個表的數據 incrementing: 使用嚴格的自增列標識增量數據。不支持對舊數據的更新…

基于Hadoop的音樂推薦系統(源碼+lw+部署文檔+講解),源碼可白嫖!

摘要 本畢業生數據分析與可視化系統采用B/S架構&#xff0c;數據庫是MySQL&#xff0c;網站的搭建與開發采用了先進的Java語言、爬蟲技術進行編寫&#xff0c;使用了Spring Boot框架。該系統從兩個對象&#xff1a;由管理員和用戶來對系統進行設計構建。主要功能包括&#xff…

CentOS的安裝以及網絡配置

CentOS的下載 在學習docker之前&#xff0c;我們需要知道的就是docker是運行在Linux內核之上的&#xff0c;所以我們需要Linux環境的操作系統&#xff0c;當然了你也可以選擇安裝ubuntu等操作系統&#xff0c;如果你不想在本機安裝的話還可以考慮買阿里或者華為的云服務器&…

【條形碼識別改名工具】如何批量識別圖片條形碼,并以條碼內容批量重命名,基于WPF和Zxing的開發總結

批量圖片條形碼識別與重命名系統 (WPF + ZXing)開發總結 項目適用場景 ??電商商品管理??:批量處理商品圖片,根據條形碼自動分類歸檔??圖書館系統??:掃描圖書條形碼快速建立電子檔案??醫療檔案管理??:通過藥品條形碼整理醫療圖片資料??倉儲管理??:自動化識…

RAGFlow安裝+本地知識庫+踩坑記錄

RAGFlow是一種融合了數據檢索與生成式模型的新型系統架構&#xff0c;其核心思想在于將大規模檢索系統與先進的生成式模型&#xff08;如Transformer、GPT系列&#xff09;相結合&#xff0c;從而在回答查詢時既能利用海量數據的知識庫&#xff0c;又能生成符合上下文語義的自然…

android liveData observeForever 與 observe對比

LiveData 是一個非常有用的組件,用于在數據變化時通知觀察者。LiveData 提供了兩種主要的觀察方法:observe 和 observeForever。這兩種方法在使用場景、生命周期感知以及內存管理等方面有所不同。 一、observe 方法?? ??1. 基本介紹?? ??生命周期感知??:observe…

web-ssrfme

一、題目源碼 <?php highlight_file(__file__); function curl($url){ $ch curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_HEADER, 0);echo curl_exec($ch);curl_close($ch); }if(isset($_GET[url])){$url $_GET[url];if(preg_match(/file…

企業AI應用模式解析:從本地部署到混合架構

在人工智能快速發展的今天&#xff0c;企業如何選擇合適的大模型應用方式成為了一個關鍵問題。本文將詳細介紹六種主流的企業AI應用模式&#xff0c;幫助您根據自身需求做出最優選擇。 1. 本地部署&#xff08;On-Premise Deployment&#xff09; 特點&#xff1a;將模型下載…

OpenCV 圖形API(49)顏色空間轉換-----將 NV12 格式的圖像數據轉換為 BGR 顏色空間函數NV12toBGR()

操作系統&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 編程語言&#xff1a;C11 算法描述 將圖像從NV12&#xff08;YUV420p&#xff09;顏色空間轉換為BGR。 該函數將輸入圖像從NV12顏色空間轉換為RGB。Y、U和V通道值的常規范圍是0到25…

【java實現+4種變體完整例子】排序算法中【桶排序】的詳細解析,包含基礎實現、常見變體的完整代碼示例,以及各變體的對比表格

以下是桶排序的詳細解析&#xff0c;包含基礎實現、常見變體的完整代碼示例&#xff0c;以及各變體的對比表格&#xff1a; 一、桶排序基礎實現 原理 將數據分到有限數量的桶中&#xff0c;每個桶內部使用其他排序算法&#xff08;如插入排序或快速排序&#xff09;&#xf…

Linux[基本指令]

Linux[基本指令] pwd 查看當前所處的工作目錄 斜杠在Linux中作為路徑分割符 路徑存在的價值為了確定文件的唯一性 cd指令 更改路徑 cd 你要去的路徑(直接進入) cd . 當前目錄 cd . . 上級目錄(路徑回退) 最后的’/為根目錄(根節點) Linux還是window的目錄結構都是樹狀…

git -- 對遠程倉庫的操作 -- 查看,添加(與clone對比),抓取和拉取,推送(注意點,抓取更新+合并的三種方法,解決沖突,對比),移除

目錄 對遠程倉庫的操作 介紹 查看 (git remote) 介紹 查看詳細信息 添加(git remote add) 介紹 與 git clone對比 從遠程倉庫中抓取與拉取 抓取(git fetch) 拉取(git pull) 推送(git push) 介紹 注意 抓取更新合并的方法 git fetch git merge 解決沖突 git …

vue3 excel文件導入

文章目錄 前言使用在vue文件中的使用 前言 最近寫小組官網涉及到了excel文件導入的功能 場景是導入小組成員年級 班級 郵箱 組別 姓名等基本信息的excel表格用于展示各組信息 使用 先下載js庫 npm install xlsx為了提高代碼的復用性 我將它寫成了一個通用的函數 import ap…

Docker環境下SpringBoot程序內存溢出(OOM)問題深度解析與實戰調優

文章目錄 一、問題背景與現象還原**1. 業務背景****2. 故障特征****3. 核心痛點****4. 解決目標** 二、核心矛盾點分析**1. JVM 與容器內存協同失效****2. 非堆內存泄漏****3. 容器內存分配策略缺陷** 三、系統性解決方案**1. Docker 容器配置**2. JVM參數優化&#xff08;容器…

【PGCCC】Postgres MVCC 內部:更新與插入的隱性成本

為什么 Postgres 中的更新操作有時感覺比插入操作慢&#xff1f;答案在于 Postgres 如何在后臺管理數據版本。 Postgres 高效處理并發事務能力的核心是多版本并發控制&#xff08;MVCC&#xff09;。 在本文中&#xff0c;我將探討 MVCC 在 Postgres 中的工作原理以及它如何影響…