git stash 用法總結

目錄

  • 1,介紹
    • 場景1:
    • 場景2:
  • 2,常用命令
    • 2.1,基礎
    • 2.2,進階
      • 1,存儲時指定備注
      • 2,通過索引來操作指定的存儲
      • 3,修改存儲規則
    • 2.3,查看 stash 修改的具體內容

1,介紹

場景1:

如果正在A分支做開發,但 B 分支的代碼測出bug需要修改,所以需要從A分支切換到B分支。

此時可這樣處理:在A分支 add + commit 之后,再切換到 B 分支。但這樣做有2個問題:

  1. 增加了不必要的 commit,雖然之后可以通過 git commit --amend 來修改,
  2. A 分支的功能寫了一半,此時 commit,到時再切換回 A 分支時還得查看 commit 才能知道之前修改的內容,比較麻煩。

場景2:

在 A 分支開發到一半發現使用錯分支了,應該在 B 分支開發,需要將當前已修改的內容得全部平移到B分支,同時不影響當前分支和版本庫。


上面的情況,最好用的辦法就是 stashes 存儲棧,它的所有操作不會影響到版本庫。

2,常用命令

stashes 存儲棧,遵循后進先出

2.1,基礎

# 查看幫助(所有命令列表)
git stash -h
# 將當前工作區和暫存區的代碼存儲到 stashes棧中。
git stash
# 取出最近的一條 stash,并在 stashes 棧中刪除。
git stash pop
# 取出最近的一條 stash,stashes 棧中不刪除。
git stash apply# 不取出,直接在 stashes 棧中刪除最近的一條 stash
git stash drop

所以,git stash pop = git stash apply + git stash drop

# 查看 stashes 列表
git stash list
# 清空 stashes 棧
git stash clear

所以,

場景1,可以直接在 A 分支執行 git stash,在 B 分支開發完之后再切換到 A 分支,執行 git stash pop 即可。

場景2,可以直接在 A 分支執行 git stash,切換到 B 分支后執行 git stash pop 即可。

2.2,進階

1,存儲時指定備注

git stash save 測試stash
# or
git stash push -m 測試stash

缺圖查看效果

2,通過索引來操作指定的存儲

# 操作 stash@{1}
git stash pop 1
# or 這里一定要加引號,否則報錯。
git stash pop "stash@{1}"

git stash applygit stash drop 同理。

3,修改存儲規則

默認存儲規則:不包括工作區新增文件(未被跟蹤的文件)和 .gitignore 忽略的文件,包括工作區和暫存區的修改。

  1. -u--include-untracked 表示包括未被跟蹤的文件。
git stash save 備注 -u
  1. -a--all 表示包括 .gitignore 忽略的文件。
git stash save 備注 -a
  1. -k--keep-index 表示不包括暫存區的修改。
git stash save 備注 -k

2.3,查看 stash 修改的具體內容

查看命令 git stash show 并沒有介紹,是因為 vscode 自帶的版本管理非常好用,可以詳細的查看每個 stash 做了哪些修改。

可以看到不止是 stashes,每條 commit 也能隨時查看。

在這里插入圖片描述


以上。

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

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

相關文章

Element UI之Dialog 對話框

Dialog 對話框 用于彈出窗口 按需引入方式 如果是完整引入可跳過此步驟 import Vue from vue import { Dialog } from element-ui import element-ui/lib/theme-chalk/base.css import element-ui/lib/theme-chalk/dialog.cssVue.use(Dialog)基礎使用 <template><…

摩爾定律,梅特卡夫定律,吉爾德定律

信息系統的三大定律(摩爾定律&#xff0c;梅特卡夫定律&#xff0c;吉爾德定律)有一個清晰的視角&#xff1a; 信息系統不是左邊的生產消費系統&#xff0c;而是右邊的交易系統&#xff0c;交易系統與生產消費典型的區別在于信息交易過程會產生新的信息&#xff0c;就像錢一樣…

c語言——俄羅斯方塊

一、游戲效果 俄羅斯方塊 二. 游戲背景 俄羅斯方塊是久負盛名的游戲&#xff0c;它也和貪吃蛇&#xff0c;掃雷等游戲位列經典游戲的?列。 《俄羅斯方塊》&#xff08;Tetris&#xff0c;俄文&#xff1a;Тетрис&#xff09;是一款由俄羅斯人阿列克謝帕基特諾夫于1984…

java http

超文本傳輸協議 超文本/html 工作方式 get / url 請求獲取相應報文 http://xxxxxxxxxxxx.com/user?xxx xxx 協議類型 - 服務器地址 -路徑 path 請求格式: head / body path路徑進行處理資源 等同于報文請求: GET: /users HTTP/1.1 Host:api.github.com 響應報文 請求方式…

京東數據分析平臺(京東運營數據采集):2023年10月京東白酒品牌銷售排行榜

鯨參謀監測的京東平臺10月份白酒市場銷售數據已出爐&#xff01; 鯨參謀數據顯示&#xff0c;10月份&#xff0c;京東平臺上白酒的銷量為340萬&#xff0c;環比增長約16%&#xff0c;同比增長約37%&#xff1b;銷售額為28億&#xff0c;環比增長約20%&#xff0c;同比增長約122…

educoder中Hive綜合應用案例 — 學生成績查詢

第1關:計算每個班的語文總成績和數學總成績 ---------- 禁止修改 ----------drop database if exists mydb cascade;set hive.auto.convert.join = false; set hive.ignore.mapjoin.hint=false; ---------- 禁止修改 ---------- ---------- begin ---------- ---創建mydb數據…

如何在Ubuntu的Linux系統中安裝MySQL5.7數據庫

前往MySQL數據庫官網鏈接地址下載5.7數據庫。 MySQL :: Download MySQL Community Server (Archived Versions)使用ssh的可視化工具將下載的mysql-5.7.40-linux-glibc2.12-x86_64.tar.gz文件上傳到Linux服務器&#xff0c;并解壓文件 tar -zxvf mysql-5.7.40-linux-glibc2.12-x…

總結vue框架中的鉤子函數

vue2.x生命周期鉤子函數 組件的生命周期分為3個階段: 掛載階段:beforeCreate、created、beforeMount、mounted,更新階段:beforeUpdate、updated,銷毀階段:beforeDestroy、destroyed beforeCreate beforeCreate() {// 初始化數據&#xff0c;并通過Object.defineProperty()和…

基于蛇優化算法優化概率神經網絡PNN的分類預測 - 附代碼

基于蛇優化算法優化概率神經網絡PNN的分類預測 - 附代碼 文章目錄 基于蛇優化算法優化概率神經網絡PNN的分類預測 - 附代碼1.PNN網絡概述2.變壓器故障診街系統相關背景2.1 模型建立 3.基于蛇優化優化的PNN網絡5.測試結果6.參考文獻7.Matlab代碼 摘要&#xff1a;針對PNN神經網絡…

大數據預處理技術

文章目錄 前言 大數據技術成為前沿專業 也是現在甚至未來的朝陽產業&#xff0c;大數據有分別是 數據預處理 數據存儲 大數據處理和分析 數據可視化 部分組成 &#xff0c;大數據行業有數據則稱王&#xff0c;大數據的核心是數據本身 怎么獲取有價值的數據呢&#xff1f;本章講…

android 9 adb安裝過程學習(二)

一、PackageInstalllerService流程分析 下面來分析下 PackageInstallerService 中的邏輯&#xff0c;我們先來看看 PackageInstallerService 的創建&#xff0c;當然&#xff0c;這部分的邏輯是在開機的時候&#xff0c;這里我們再回顧下&#xff1a; 位置&#xff1a;./frame…

Cent OS 8.2 安裝 自定義硬盤 固定IP VMware

時間&#xff1a;20231122 環境&#xff1a;win11 、VMware 16 pro、Cent OS 8.2 說明&#xff1a;自定義安裝方法、自定義硬盤分區、固定IP且能聯網 1、使用自定義的方式安裝虛擬機 此處選擇典型&#xff0c;則會自動安裝系統&#xff0c;無法自定義硬件以及配置信息 選擇…

CCF CSP認證 歷年題目自練Day49

題目一 此題用暴力枚舉做過&#xff08;80分&#xff09;現如今終于用二維前綴和做到滿分。 試題編號&#xff1a; 202309-2 試題名稱&#xff1a; 坐標變換&#xff08;其二&#xff09; 時間限制&#xff1a; 2.0s 內存限制&#xff1a; 512.0MB 問題描述&#xff1a; 問題…

【Axure視頻教程】中繼器首行函數

今天教大家在Axure里如何使用中繼器首行函數&#xff0c;本視頻教程會先從中繼器首行函數的基礎講起&#xff0c;然后通過計算合計數、統計選中數、兩個中繼器選項聯動這3個案例更加深入的講解這這個函數的應用。注&#xff1a;該教程主要講解中繼器首行函數的用法&#xff0c;…

NFC:應用場景廣泛的短距離通信技術

NFC&#xff1a;應用場景廣泛的短距離通信技術 一、NFC 技術介紹1.1 NFC 技術應用場景1.2 NFC 技術優點1.3 NFC 工作原理 二、NFC 開發2.1 NFC 應用開發流程2.2 NFC 讀取和寫入2.3 NFC 讀寫功能示例 三、總結 一、NFC 技術介紹 NFC &#xff08;Near-field communication&…

SM系列國密算法

一、概述 國產密碼算法&#xff08;國密算法&#xff09;是指國家密碼局認定的國產商用密碼算法&#xff0c;國密算法是提升國家密碼安全和數據安全的關鍵技術。 為了保障商用密碼的安全性&#xff0c;國家密碼局制定了一系列密碼標準&#xff0c;包括&#xff1a;SM1、SM2、S…

分類預測 | Matlab實現基于PSO-PNN粒子群算法優化概率神經網絡的數據分類預測

分類預測 | Matlab實現基于PSO-PNN粒子群算法優化概率神經網絡的數據分類預測 目錄 分類預測 | Matlab實現基于PSO-PNN粒子群算法優化概率神經網絡的數據分類預測分類效果基本描述程序設計參考資料 分類效果 基本描述 1.Matlab實現基于PSO-PNN粒子群算法優化概率神經網絡的數據…

hadoop在本地創建文件,然后將文件拷貝/上傳到HDFS

1.要$cd {對應目錄}進入到對應目錄&#xff0c;一般為 cd /usr/local/hadoop/ 2.創建文件&#xff0c;$sudo gedit {文件名}&#xff0c;例 sudo gedit test.txt 然后在彈出的txt文件輸入內容&#xff0c;點擊右上角的保存之后&#xff0c;關閉即可。 3.拷貝本地文件到HDF…

RPG項目_UI登錄

首先創建一個項目 將資源包導進Resources文件夾 創建一個Scripts腳本文件夾 然后再對Scripts腳本文件夾分門別類 導入UI資源包 創建一個Image 按住Alt 選擇右下角 image就會覆蓋整個面板 修改image名字為BG 將image圖片放置背景欄 再創建一個image 改名為MainMenu 修改MainMenu…

屏幕坐標轉換場景坐標并進行物體檢測

在 OpenSceneGraph 中&#xff0c;要將屏幕坐標轉換為當前場景坐標&#xff0c;并過濾出屏幕顯示范圍內的節點&#xff0c;可以通過以下步驟實現&#xff1a; 獲取屏幕坐標&#xff1a; 當用戶點擊或交互時&#xff0c;獲取鼠標點擊的屏幕坐標。 轉換屏幕坐標為世界坐標&#…