Git系列--3.分支管理

目錄

一、理解分支

? ? ? ? 1.1圖示

????????1.2 打印倉庫下有哪些分支

? ? ? ? 1.3創建分支

? ? ? ? 1.4HEAD與切換分支

? ? ? ? 1.5合并分支

? ? ? ? 1.6流程圖理解

二、刪除分支

?

三、合并分支沖突

? ? ? ? 3.1.問題導入

? ? ? ? 3.2.解決

????????3.3合并圖示

四、合并模式

? ? ? ?4.1合并?編輯

? ? ? ? 4.2變基

五、bug分支

? ? ?? ?5.1背景建立

????????5.2解決步驟

? ? ? ????????? 5.2.1保存dev2工作區內容

? ? ? ? ? ? ? ? ?5.2.2建立bug分支,修改bug并提交與合并到主分支

? ? ? ? ? ? ? ? ?5.2.3新功能研發,合并到研發分支測試

? ? ? ? ? ? ? ? ?5.2.4合并到主分支

? ? ? ? ? ? ? ? ?5.2.5流程圖示

六、強制刪除分支


一、理解分支

? ? ? ? 1.1圖示

? ? ? ? ? ? ?我們可以利用分支在同一時間進行多人并行工作,最后合并到主分支上進行最終管理?

?????????1.2 打印倉庫下有哪些分支

git branch

? ? ? ? 1.3創建分支

git branch branchname

? ? ? ? 1.4HEAD與切換分支

? ? ? ? 前文提到HEAD指向分支,這里明確HEAD指向主分支(帶*的)

//切換HEAD所指的的主分支
git checkout branchname

? ? ? ? 1.5合并分支

//將branchname合并到當前分支
git merge brancname

? ? ? ? 1.6流程圖理解

二、刪除分支

? ? ? ? 不能在當前分支刪除自己

git branch -d brancename

三、合并分支沖突

? ? ? ? 3.1.問題導入

????????????????發生沖突


???????

? ? ? ? 3.2.解決

? ? ? ? 手動解決并進行一次提交操作

??????????沖突文件內容,手動修改后提交

????????3.3合并圖示

四、合并模式

? ? ? ?4.1合并

git checkout main         # 切換到目標分支
git merge feature-branch  # 合并源分支

? ? ? ? 4.2變基

??

git checkout feature-branch  # 切換到源分支
git rebase main             # 變基到目標分支

五、bug分支

????????假如我們現在正在 dev2 分?上進?開發,開發到?半,突然發現 master 分?上?有 bug,需要解決。在Git中,每個 bug 都可以通過?個新的臨時分?來修復,修復后,合并分?,然后將臨時分?刪除。

? ? ?? ?5.1背景建立

????????????????master出現bug--abcde缺少f使程序崩潰
????????
dev2正在研究新功能(未提交)

????????5.2解決步驟

? ? ? ????????? 5.2.1保存dev2工作區內容

? ? ? ? ? ? ? ? ????????由于我們要從master建立bug分支進行修改,所以我們要保存dev2工作區內容,防止被新分支修改(dev2上內容為臨時內容會被master看見)

//在dev2分支上:
git stash

? ? ? ? ? ? ? ? ? ?5.2.2建立bug分支,修改bug并提交與合并到主分支
git checkout master
git checkout -b fix_bug
git add .
git commit -m ""
git cheackout master
//--no-ff No Fast Forward模式
git merge --no-ff branchname
? ? ??
? ? ? ? ? ? ? ? ? ? ? ? 5.2.3新功能研發,合并到研發分支測試
git stash pop
//恢復工作區內容
git merge --no-ff master
//合并到研發分支測試
git checkout master
git merge --no-ff dev2

? ? ? ? ? ? ? ? ? ? ? ? 5.2.4合并到主分支

????????

? ? ? ? ? ? ? ? ? ? ? 5.2.5流程圖示

六、強制刪除分支

????????如果我們今天正在某個 feature 分?上開發了?半(已被git管理),被產品經理突然叫停,說是要停?新功 能的開發。雖然??了,但是這個 feature 分?還是必須就地銷毀,留著??了。這時使?傳統 的 git branch -d 命令刪除分?的?法是不?的。
//使用
git branch -D branchname

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

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

相關文章

Vue.js TDD開發深度指南:工具鏈配置與精細化測試策略

“TDD不是測試優先的開發,而是設計優先的開發。” —— Robert C. Martin 引言 在Vue.js項目中實施測試驅動開發(TDD)是構建健壯應用的關鍵路徑。但許多開發者在實踐中常遇到: 工具鏈配置復雜導致放棄不同類型組件測試策略混淆測…

基于物聯網的智能家居控制系統設計與實現

標題:基于物聯網的智能家居控制系統設計與實現內容:1.摘要 隨著物聯網技術的飛速發展,智能家居逐漸成為人們關注的焦點。本文旨在設計并實現一個基于物聯網的智能家居控制系統,以提高家居的智能化水平和用戶的生活便利性。通過采用先進的傳感器技術、通信…

Vue 中使用 Cesium 實現可拖拽點標記及坐標實時顯示功能

在 Cesium 地圖開發中,實現點標記的拖拽交互并實時顯示坐標信息是一個常見的需求。本文將詳細介紹如何在 Vue 框架中使用 Cesium 的 Primitive 方式創建點標記,并實現拖拽功能及坐標提示框跟隨效果。先看效果圖功能實現概述我們將實現的功能包括&#xf…

HTML 插件:構建網頁的強大工具

HTML 插件:構建網頁的強大工具 引言 HTML 插件是網頁設計中不可或缺的一部分,它們為網頁增添了豐富的交互性和動態效果。本文將深入探討 HTML 插件的概念、類型、應用及其在網頁開發中的重要性。 什么是 HTML 插件? HTML 插件,也稱為 HTML 組件或 HTML 控件,是指嵌入到…

NeRF、3DGS、2DGS下三維重建相關方法介紹及以及在實景三維領域的最新實踐

一、引言 在計算機視覺與圖形學領域,三維重建技術正經歷從傳統幾何建模向智能化神經表征的范式轉變。近年來,隨著深度學習算法的迭代、傳感器技術的進步及計算硬件的升級,以神經輻射場(NeRF)和高斯潑濺(2D…

rt thread studio 和 KEIL對于使用rt thread 的中間件和組件,哪個更方便

下面我從中間件/組件集成和開發體驗兩個角度,詳細對比 RT-Thread Studio 和 Keil MDK 的便利性:1. 中間件和組件集成 RT-Thread Studio 集成RT-Thread生態:內置RT-Thread的包管理器(RT-Thread Package Manager)&#x…

Spring Boot 項目開發實戰:入門應用部分原理示例講解

前言Spring Boot 作為當前 Java 開發領域最流行的框架之一,以其 "約定優于配置" 的理念極大簡化了企業級應用的開發流程。本文將基于《Spring Boot 項目開發教程(慕課版)》中的資產管理系統項目,深入解析 Spring Boot 的…

ByteBrain x 清華 VLDB25|時序多模態大語言模型 ChatTS

資料來源:火山引擎-開發者社區 近年來,多模態大語言模型(MLLM)發展迅速,并在圖像、視頻、音頻等領域取得了突破性成果。然而,相較于這些研究較為成熟的模態,時間序列這一類型的數據與大模型結合…

WPF學習筆記(25)MVVM框架與項目實例

MVVM框架與項目實例一、MVVM框架1. 概述2. 核心組件與優勢一、MVVM項目1.普通項目2. MVVM架構3. MVVM項目實例1. 項目準備2. LoginViewModel與Login2. MainWindowViewModel4. MVVM項目優化1. BaseViewModel2. RealyCommand3. 效果展示總結一、MVVM框架 1. 概述 官方文檔&…

MySQL實操

## 基于MySQL#先啟動MySQL服務#第一次登錄[rootlocalhost ~]# mysql -uroot -P3306#密碼登錄[rootlocalhost ~]# mysql -uroot -pEnter password: Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 9Server version: 8.0.41 Source dist…

ez_rust_writeup

一道簡單的[[rust逆向]] #rust逆向 #位運算 題目信息 文件名:ezrust.exe 題目附件:https://wwfj.lanzoul.com/iczMR30k5j4h 密碼:bueq 題目分析 1. 初步分析 這是一道Rust編寫的逆向題目。通過IDA分析可以看到,這是一個典型的flag驗證程序。 …

【QT】-隱式轉換 explicit用法

通俗易懂的解釋:隱式轉換 vs 顯式轉換 什么是隱式轉換? 隱式轉換就是編譯器偷偷幫你做的類型轉換,你甚至都沒意識到它發生了。 例子: cpp 運行 double x = 5; // 隱式:int → double(5 變成 5.0) int y = x * 2.5; // 隱式:double → int(截斷小數部分) 構造函數的隱…

Django核心知識點詳解:JSON、AJAX、Cookie、Session與用戶認證

1. JSON數據格式詳解1.1 什么是JSON?JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,具有以下特點:獨立于語言,幾乎所有編程語言都支持易于人閱讀和編寫易于機器解析和生成基于文本&#xff…

[特殊字符] Python 實戰 | 批量統計中文文檔詞頻并導出 Excel

本文展示如何用 Python 腳本: 批量讀取文件夾中的多篇中文文檔; 用 jieba 分詞并統計詞頻(過濾停用詞與單字符); 將各文檔詞頻輸出為對應 Excel 文件; 是文本分析、內容審查、報告編寫中的實用技巧。 &…

共享打印機(詳細操作+常見問題:需輸入用戶名密碼、無法連接等)

文章目錄一、設置打印機共享的準備工作二、Windows系統下打印機共享設置1. 啟用主機打印機共享2. 客戶端添加共享打印機三、我所遇到的問題及解決方法客戶機遇到輸入用戶名、密碼錯誤代碼 0x0000011b一、錯誤代碼 0x0000011b 的含義二、解決方法添加打印機沒成功其他問題此次打…

在 Windows 系統上配置 [go-zero](https://go-zero.dev) 開發環境教程

💻 在 Windows 系統上配置 go-zero 開發環境教程 本教程將詳細介紹如何在 Windows 系統上配置 go-zero 微服務框架的開發環境,包括依賴安裝、路徑配置、常見問題等。 🧱 一、前置環境安裝 1. 安裝 Go 下載地址:https://go.dev/…

開源=白嫖?

國內有一個非常濃重的思想,開源,開源就是免費,就是白嫖,就是不花錢,白給。那么什么是開源?“源代碼”是軟件中大多數計算機用戶從未見過的部分;它是計算機程序員可以操縱的代碼,以改變一個軟件(…

2048-控制臺版本

2048控制臺版 文章目錄2048控制臺版實現效果:在這里插入圖片描述庫函數使用:初始化變量功能函數實現:狀態判斷函數int Judge();數字生成函數 bool CtreateNumber()打印游戲界面 void…

提取出Wallpaper Engine壁紙的mpkg類靜態壁紙

github 地址 https://github.com/notscuffed/repkg先下載軟件2853…26目錄這樣獲取有的直接mp4格式,就不能用這方法準備好后 cmd 進入repkg目錄 執行 repkg extract ./294...333/scene.pkg

AI健康小屋“15分鐘服務圈”:如何重構社區健康生態?

AI健康小屋作為“15分鐘服務圈”的核心載體,通過技術賦能與場景重構,正推動社區健康生態從被動治療向主動預防、從單一服務向全周期管理轉型。那我們應該如何重構社區健康生態呢?服務模式創新1.全時段覆蓋AI健康小屋通過分時段服務滿足不同群…