Git合并分支的兩種常用方式`git merge`和`git cherry-pick`

Git合并分支的兩種常用方式`git merge`和`git cherry-pick`

  • 寫在前面
  • 1. git merge
    • 用途
    • 工作方式
    • 使用git命令方式合并
    • 使用idea工具方式合并
  • 2. git cherry-pick
    • 用途
    • 工作方式
    • 使用git命令方式合并
    • 使用idea工具方式合并
  • 3. 區別總結

寫在前面

一般我們使用git合并分支常用的就是`git merge`和`git cherry-pick`這兩種方式。
它們都是 Git 中用于整合代碼變更的命令,但它們的使用場景和工作方式有所不同。
`git merge`是合并整個分支的所有提交,當兩個分支差異比較大的時候不適合將整個分支合并過去,
這時候就需要使用`git cherry-pick`(優選) 選擇我們需要的提交記錄進行合并。
下面介紹一下二者的使用方式和應用場景。

1. git merge

用途

git merge主要用于將一個分支的所有更改合并到另一個分支。通常在開發過程中,當你在一個特性分支上完成了開發工作,想要將這些更改集成到主分支(如main或master)時,就會使用git merge

工作方式

它會將源分支上的所有提交歷史合并到目標分支。如果在合并過程中沒有沖突,Git 會創建一個新的合并提交,該提交包含兩個分支的更改;如果有沖突,則需要手動解決沖突后再完成合并。

使用git命令方式合并

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

使用idea工具方式合并

1、準備工作
確保你已經在 IDEA 中正確配置了 Git,并且項目已經與 Git 倉庫關聯。可以通過 File -> Settings(Windows/Linux)或 IntelliJ IDEA -> Preferences(Mac),在 Version Control -> Git 中查看和配置 Git 路徑。
打開你要操作的項目,確保當前分支是你想要將提交合并到的目標分支。

2、具體操作
通過版本控制 (Version Control) 工具窗口,通常可以通過點擊 IDEA 左下角的 Git 圖標打開。
在這里插入圖片描述

2. git cherry-pick

用途

git cherry-pick允許你從一個或多個提交中選擇特定的更改,并將這些更改應用到當前分支。當你只需要某個分支上的部分提交,而不是整個分支的所有更改時,就可以使用git cherry-pick

工作方式

它會將指定提交的更改復制到當前分支,并創建一個新的提交。這個新提交的內容與原始提交相同,但提交哈希值不同。如果在應用更改時出現沖突,同樣需要手動解決沖突后再完成操作。

使用git命令方式合并

# 切換到目標分支
git checkout main
# 應用指定提交的更改到當前分支
git cherry-pick <commit-hash>

使用idea工具方式合并

準備工作git merge相同,點擊 IDEA 左下角的 Git 圖標打開操作窗口。
在這里插入圖片描述

3. 區別總結

范圍git merge是合并整個分支的所有提交,而git cherry-pick只選擇特定的提交進行應用。
提交歷史git merge會保留源分支的提交歷史,形成一個合并提交;git cherry-pick會創建新的提交,原始提交歷史仍然保留在源分支上。
使用場景:當你需要將一個分支的完整開發成果集成到另一個分支時,使用git merge;當你只需要某個分支上的部分提交時,使用git cherry-pick

最后,一般在git merge合并操作能滿足使用需求的情況下,優先建議使用 git merge,而不是git cherry-pick。只有兩個分支存在沖突時,才建議使用git cherry-pick

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

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

相關文章

Web三漏洞學習(其三:rce漏洞)

靶場&#xff1a;NSSCTF 三、RCE漏洞 1、概述 在Web應用開發中會讓應用調用代碼執行函數或系統命令執行函數處理&#xff0c;若應用對用戶的輸入過濾不嚴&#xff0c;容易產生遠程代碼執行漏洞或系統命令執行漏洞 所以常見的RCE漏洞函數又分為代碼執行函數和系統命令執行函數…

從零開始:Python運行環境之VSCode與Anaconda安裝配置全攻略 (1)

從零開始&#xff1a;Python 運行環境之 VSCode 與 Anaconda 安裝配置全攻略 在當今數字化時代&#xff0c;Python 作為一種功能強大且易于學習的編程語言&#xff0c;被廣泛應用于數據科學、人工智能、Web 開發等眾多領域。為了順利開啟 Python 編程之旅&#xff0c;搭建一個穩…

從FPGA實現角度介紹DP_Main_link主通道原理

DisplayPort&#xff08;簡稱DP&#xff09;是一個標準化的數字式視頻接口標準&#xff0c;具有三大基本架構包含影音傳輸的主要通道&#xff08;Main Link&#xff09;、輔助通道&#xff08;AUX&#xff09;、與熱插拔&#xff08;HPD&#xff09;。 Main Link&#xff1a;用…

嵌入式軟件--stm32 DAY 2

大家學習嵌入式的時候&#xff0c;多多學習用KEIL寫代碼&#xff0c;雖然作為編譯器&#xff0c;大家常用vscode等常用工具關聯編碼&#xff0c;但目前keil仍然是主流工具之一&#xff0c;學習掌握十分必要。 1.再次創建項目 1.1編譯器自動生成文件 1.2初始文件 這樣下次創建新…

游戲引擎學習第234天:實現基數排序

回顧并為今天的內容設定背景 我們今天繼續進行排序的相關&#xff0c;雖然基本已經完成了&#xff0c;但還是想收尾一下&#xff0c;讓整個流程更完整。其實這次排序只是個借口&#xff0c;主要是想順便聊一聊一些計算機科學的知識點&#xff0c;這些內容在我們項目中平時不會…

計算機網絡——常見的網絡攻擊手段

什么是XSS攻擊&#xff0c;如何避免? XSS 攻擊&#xff0c;全稱跨站腳本攻擊&#xff08;Cross-Site Scripting&#xff09;&#xff0c;這會與層疊樣式表(Cascading Style Sheets, CSS)的縮寫混淆&#xff0c;因此有人將跨站腳本攻擊縮寫為XSS。它指的是惡意攻擊者往Web頁面…

Agent的九種設計模式 介紹

Agent的九種設計模式 介紹 一、ReAct模式 原理:將推理(Reasoning)和行動(Acting)相結合,使Agent能夠在推理的指導下采取行動,并根據行動的結果進一步推理,形成一個循環。Agent通過生成一系列的思維鏈(Thought Chains)來明確推理步驟,并根據推理結果執行相應的動作,…

LeetCode 熱題 100:回溯

46. 全排列 給定一個不含重復數字的數組 nums &#xff0c;返回其 所有可能的全排列 。你可以 按任意順序 返回答案。 示例 1&#xff1a; 輸入&#xff1a;nums [1,2,3] 輸出&#xff1a;[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]示例 2&#xff1a; 輸入&#xff…

cJSON_Print 和 cJSON_PrintUnformatted的區別

cJSON_Print 和 cJSON_PrintUnformatted 是 cJSON 庫中用于將 cJSON 對象轉換為 JSON 字符串的兩個函數&#xff0c;它們的區別主要在于輸出的格式&#xff1a; 1. cJSON_Print 功能&#xff1a;將 cJSON 對象轉換為格式化的 JSON 字符串。 特點&#xff1a; 輸出的 JSON 字符…

A股周度復盤與下周策略 的deepseek提示詞模板

以下是反向整理的股票大盤分析提示詞模板&#xff0c;采用結構化框架數據占位符設計&#xff0c;可直接套用每周市場數據&#xff1a; 請根據一下markdown格式的模板&#xff0c;幫我檢索整理并輸出本周股市復盤和下周投資策略 【A股周度復盤與下周策略提示詞模板】 一、市場…

Linux下使用C++獲取硬件信息

目錄 方法獲取CPU信息&#xff1a;讀取"/proc/cpuinfo"文件獲取磁盤信息&#xff1a;讀取"/proc/diskstats"文件獲取BIOS信息有兩種方法&#xff1a;1、讀取文件&#xff1b;2、使用dmidecode命令獲取主板信息有兩種方法&#xff1a;1、讀取文件&#xff1…

BootStrap:進階使用(其二)

今天我要講述的是在BootStrap中第二篇關于進一步使用的方法與代碼舉例; 分頁&#xff1a; 對于一些大型網站而言&#xff0c;分頁是一個很有必要的存在&#xff0c;如果當數據內容過大時&#xff0c;則需要分頁來分擔一些&#xff0c;這可以使得大量內容能整合并全面地展示&a…

【技術派后端篇】技術派中的白名單機制:基于Redis的Set實現

在技術派社區中&#xff0c;為了保證文章的質量和社區的良性發展&#xff0c;所有發布的文章都需要經過審核。然而&#xff0c;并非所有作者的文章都需要審核&#xff0c;我們通過白名單機制來優化這一流程。本文將詳細介紹技術派中白名單的實現方式&#xff0c;以及如何利用Re…

TRAE.AI 國際版本

國際版下載地址&#xff1a; https://www.trae.ai/https://www.trae.ai/ 國際版本優勢&#xff1a;提供更多高校的AI助手模型 Claude-3.5-Sonnet Claude-3.7-Sonnet Gemini-2.5-Pro GPT-4.1 GPT-40 DeepSeek-V3-0324DeepSeek-V3DeepSeek-Reasoner(R1)

關于支付寶網頁提示非官方網頁

關于支付寶網站提示 非官方網站 需要找官方添加白名單 下面可以直接用自己的郵箱去發送申請 支付寶提示“非支付寶官方網頁&#xff0c;請確認是否繼續訪問”通常是因為支付寶的安全機制檢測到您訪問的頁面不是支付寶官方頁面&#xff0c;這可能是由于域名或頁面內容不符合支…

【今日三題】打怪(模擬) / 字符串分類(字符串哈希) / 城市群數量(dfs)

??個人主頁&#xff1a;小羊 ??所屬專欄&#xff1a;每日兩三題 很榮幸您能閱讀我的文章&#xff0c;誠請評論指點&#xff0c;歡迎歡迎 ~ 目錄 打怪(模擬)字符串分類(字符串哈希)城市群數量(dfs) 打怪(模擬) 打怪 #include <iostream> using namespace std;int …

npm install 版本過高引發錯誤,請添加 --legacy-peer-deps

起因&#xff1a;由于使用"react": "^19.0.0", 第三方包要低版本react&#xff0c;錯解決方法&#xff01; npm install --save emoji-mart emoji-mart/data emoji-mart/react npm install --save emoji-mart emoji-mart/data emoji-mart/react npm err…

Python基礎總結(七)之條件語句

文章目錄 條件語句if一、Python中的真假二、條件語句格式2.1 if語句格式2.2 if-else語句2.3 if-elif-else語句 三、if語句嵌套 條件語句if 條件語句其實就是if語句&#xff0c;在講解if語句之前需要知道Python中對于真假的判斷。 一、Python中的真假 在Python中非0的都為真&…

基于Ubuntu2504部署OpenStack E版

OpenStack 初始化環境安裝數據庫、memcahe、rabbitmq等服務安裝keystone服務安裝glance服務安裝placement服務安裝nova服務安裝neutron服務安裝horizon服務 官網 OpenStack Epoxy 鞏固了作為 VMware 替代方案的地位&#xff0c;增強了安全性&#xff0c;并改進了硬件支持 第 3…

可發1區的超級創新思路(python 、MATLAB實現):基于多尺度注意力TCN-KAN與小波變換的時間序列預測模型

一、數學模型與原理 1.1 小波變換多尺度分解 輸入功率序列 x(t) 經小波變換分解為近似系數 Aj? 與細節系數 Dj?: 1.2 多尺度TCN特征提取 對每個尺度子序列 {A3?,D3?,D2?,D1?} 采用獨立TCN: 式中 ?d? 為擴張率 d=2l 的擴張卷積,Wd? 為可學習參數。 1.3 多尺度注…