git分支常見操作

来源:https://www.cnblogs.com/ttjm/archive/2023/08/03/17602667.html
-Advertisement-
Play Games

1.查看分支 查看本地分支 git branch 查看遠程分支 git branch -r 查看本地和遠程分支 git branch -a 2.創建分支 使用以下命令創建一個本地分支 git branch <本地分支名> 使用以下命令創建一個本地分支且新建分支從特定分支拉取代碼 git branch ...


1.查看分支

查看本地分支

git branch 

查看遠程分支

git branch -r

查看本地和遠程分支 

git branch -a

2.創建分支

使用以下命令創建一個本地分支

git branch <本地分支名>

使用以下命令創建一個本地分支且新建分支從特定分支拉取代碼

git branch <本地分支名> origin/<遠程分支名 or 本地分支名>

使用以下命令創建一個本地分支且新建分支基於某次提交創建

git branch <本地分支名>  commit_hash

 

使用以下命令創建一個本地分支並切換到該分支上:

git checkout -b <本地分支名>

使用以下命令創建一個本地分支並切換到該分支上且新建分支從特定分支拉取代碼

git checkout -b <本地分支名> origin/<遠程分支名 or 本地分支名>

 使用以下命令創建一個本地分支並切換到該分支上且新建分支基於某次提交創建

git checkout -b <本地分支名>  commit_hash

3.刪除分支

 刪除本地分支

git branch -D <本地分支名>

刪除遠程分支

git push origin -d <遠程分支名>

 4.合併分支

 假設把dev分支的代碼合併到master分支,執行如下命令

git checkout master
git merge dev

要將“dev”分支合併到master分支併在合併記錄中只顯示一次提交,可以使用以下命令:

git checkout master
git merge dev --squash

上述命令會將“dev”分支合併到當前分支,併在合併記錄中只顯示一次提交。在這個過程中,Git 會將合併後的所有提交合併到一起,並要求你輸入一個提交信息。你可以輸入任何你想要的提交信息。

解決的問題就是在開發分支開發一個功能提交了很多次,但是在master分支只需要一次提交就可以了(還有一種方法是rebase,後面會說到)

 

下麵是一些常用的合併選項:(參考即可)

  • --no-commit:在合併之前不要提交更改。這個選項可以在合併過程中出現衝突時使用。
  • --strategy=<strategy>:指定合併策略。這個選項可以用來指定使用的合併策略。預設的合併策略是“recursive”,它會嘗試遞歸地合併分支。你也可以使用“recursive”和“theirs”選項來實現更優雅的合併。
  • --strategy-option=<option>:指定合併策略選項。這個選項可以用來指定合併策略的選項。例如,你可以使用“--strategy-option=theirs”選項來實現更優雅的合併。
  • --squash:在合併之前將所有更改合併到一次提交中。這個選項可以在合併過程中出現衝突時使用。
  • --no-squash:在合併之前不要將更改合併到一次提交中。這個選項是預設選項。
  • --abort:停止合併過程並退出。這個選項可以在合併過程中出現問題時使用。
  • --continue:繼續合併過程。這個選項可以在合併過程中出現問題時使用。
  • --no-ff:在合併分支時創建一個新的提交。這個選項是預設選項。如果你使用了“--no-ff”選項,Git 將會在合併分支時創建一個新的提交,併在提交信息中指出這是一次新的提交。
  • --no-edit:在合併過程中不要編輯合併信息。這個選項是預設選項。如果你使用了“--no-edit”選項,Git 將會在合併過程中不允許你編輯合併信息。
  • --allow-unrelated-histories:允許合併不相關的歷史記錄。這個選項是預設選項。如果你使用了“--allow-unrelated-histories”選項,Git 將會允許你合併不相關的歷史記錄。

 

 

git fetch

git stash

# 保存當前未commit的代碼
git stash

# 保存當前未commit的代碼並添加備註
git stash save "備註的內容"

# 列出stash的所有記錄
git stash list

# 刪除stash的所有記錄
git stash clear

# 應用最近一次的stash
git stash apply

# 應用最近一次的stash,隨後刪除該記錄
git stash pop

# 刪除最近的一次stash
git stash drop

 

git revert

git reset 

git cherry pick 

git rebase

 

 

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • TopSQL為DWS的監控系統,記錄DWS中各個作業、運算元級別的資源使用數據、耗時數據,包括下盤信息、記憶體、網路、耗時、警告、基礎信息等作業執行的數據。 ...
  • ![file](https://img2023.cnblogs.com/other/2685289/202308/2685289-20230803180034435-79319118.png) ## 導讀 國內某頭部券商是國內排名前三的全國性大型綜合證券公司。作為證券行業領頭羊之一,該券商一直高度重 ...
  • 本文分享自華為雲社區《如何為物聯網設備註入“華為雲+鴻蒙DNA”?看華為雲IoT怎麼答【華為雲IoT +鴻蒙】》,作者: 華為IoT雲服務。 根據市場咨詢機構預測,2025年全球物聯網設備將達到252億個。但各種智能設備大多都有一套自己的系統,而且互相“孤立”,無法交流。鴻蒙的到來,就是要用同一套語 ...
  • 這裡給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 發現很多人還只會promise常規用法 在js項目中,promise的使用應該是必不可少的,但我發現在同事和麵試者中,很多中級或以上的前端都還停留在promiseInst.then()、promiseInst.catch()、Promis ...
  • 在JavaScript語言里有個 Math.random() 隨機函數,用於生成指定範圍內的隨機數。 #### Math.random()函數 根據官方的定義: **Math.random()** 函數返回一個浮點數, 偽隨機數在範圍[0,1),也就是說,從0(包括0)往上,但是不包括1(排除1), ...
  • 一、js有如下:1、string類型;2、number類型;3、boolean類型;4、null類型;5、undefined類型;6、Object類型;7、Array類型;8、Function類型;9、Symbol類型。共九種數據類型。js把數據類型分為“基本數據類型”和“引用數據類型”。其中6、7 ...
  • 1、父傳子( 定義:父傳子使用的是 props ) ① 首先確定父組件和子組件,然後在父組件中引入子組件,註冊並使用; 父組件代碼如下: <template> <div> <h1>父組件</h1> <!-- 使用子組件 --> <ChildView></ChildView> </div> </tem ...
  • vue3引入了Composition API,使開發者能夠更靈活組織和重用組件邏輯。採用了基於Proxy的響應式系統,對虛擬DOM進行了優化等,提升了開發體驗和性能。 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...