git 之 stash

一、git stash:臨時保存工作區修改

作用
將當前工作目錄和暫存區的未提交修改保存到棧中,并恢復工作區到上一次提交的干凈狀態。
適用場景

  • 臨時切換分支修復緊急 Bug
  • 拉取遠程代碼前清理工作區
  • 保存實驗性代碼避免生成無效提交

常用命令

git stash                  # 保存修改(默認無描述)
git stash save "修復登錄頁"  # 添加描述性消息
git stash -u               # 包含未跟蹤文件(新增文件)
git stash -a               # 包含所有文件(包括.gitignore忽略的文件)
git stash --patch          # 交互式選擇部分修改保存

存儲機制

  • 保存的修改以棧結構存儲(后進先出),可通過 git stash list 查看記錄:
    stash@{0}: On main: 修復登錄頁
    stash@{1}: WIP on dev: 新增搜索功能
    

二、git stash apply:恢復保存的修改

作用
將指定 stash 中的修改應用到當前工作目錄,但不刪除 stash 記錄。
適用場景

  • 多次恢復同一份修改(如多分支測試)
  • 避免誤刪重要 stash 記錄

常用命令

git stash apply          # 恢復最新保存的修改
git stash apply stash@{1} # 恢復指定 stash(如 stash@{1})
git stash apply --index   # 同時恢復暫存區狀態(保留原 git add 狀態)

關鍵特性

  • 不自動刪除 stash:需手動執行 git stash drop 清理
  • 可能沖突:若恢復時工作區有修改,需手動解決沖突

三、git stash apply vs git stash pop

命令恢復修改刪除 stash 記錄適用場景
git stash apply需多次復用同一 stash
git stash pop恢復后立即清理棧空間

示例工作流

git stash save "臨時保存登錄頁改動"  # 保存修改 → 切換到其他分支修復 Bug
git checkout hotfix-branch         # 修復完成...
git checkout main                  # 返回原分支
git stash apply                    # 恢復修改(保留 stash 記錄)
git stash drop                     # 確認無誤后手動刪除

四、注意

未跟蹤文件需特殊處理

  • 默認不保存未跟蹤文件,需添加 -u-a 參數。
    沖突解決

  • 恢復時若沖突,需手動編輯文件 → git add → 繼續操作。
    長期存儲風險

  • Stash 是臨時工具,長期未清理的記錄易混淆,建議定期用 git stash list 檢查并清理。

  • git stash → 緊急任務前保存工作現場,避免無效提交。

  • git stash apply → 非破壞性恢復,適合需重復使用的場景。

  • git stash pop → 一次性恢復并清理,簡化操作流程。

  • 通過 git stash list 管理記錄,結合 --index-u 精細化控制,可大幅提升多任務開發效率。

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

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

相關文章

vxe-grid 雙擊行,打開expand的內容

1、官網api Vxe Table v4.6(根據版本) 要調用這個事件,雙擊單元格,我們打開type"expand"的內容 2、打開的事件toggleRowExpand 3、事件的說明 這個方法,會自動判斷當前展開的狀態,然后去觸發相…

Java Stream 高級實戰:并行流、自定義收集器與性能優化

一、并行流深度實戰:大規模數據處理的性能突破 1.1 并行流的核心應用場景 在電商用戶行為分析場景中,需要對百萬級用戶日志數據進行實時統計。例如,計算某時段內活躍用戶數(訪問次數≥3次的用戶),傳統循環…

計算機系統結構-第5章-監聽式協議

監聽式協議******: 思想: 每個Cache除了包含物理存儲器中塊的數據拷貝之外,也保存著各個塊的共享狀態信息。 Cache通常連在共享存儲器的總線上,當某個Cache需要訪問存儲器時,它會把請求放到總線上廣播出去,其他各個C…

(c++)string的模擬實現

目錄 1.構造函數 2.析構函數 3.擴容 1.reserve(擴容不初始化) 2.resize(擴容加初始化) 4.push_back 5.append 6. 運算符重載 1.一個字符 2.一個字符串 7 []運算符重載 8.find 1.找一個字符 2.找一個字符串 9.insert 1.插入一個字符 2.插入一個字符串 9.erase 10…

學習筆記(24): 機器學習之數據預處理Pandas和轉換成張量格式[2]

學習筆記(24): 機器學習之數據預處理Pandas和轉換成張量格式[2] 學習機器學習,需要學習如何預處理原始數據,這里用到pandas,將原始數據轉換為張量格式的數據。 學習筆記(23): 機器學習之數據預處理Pandas和轉換成張量格式[1]-CSDN博客 下面…

LeetCode 2297. 跳躍游戲 VIII(中等)

題目描述 給定一個長度為 n 的下標從 0 開始的整數數組 nums。初始位置為下標 0。當 i < j 時&#xff0c;你可以從下標 i 跳轉到下標 j: 對于在 i < k < j 范圍內的所有下標 k 有 nums[i] < nums[j] 和 nums[k] < nums[i] , 或者對于在 i < k < j 范圍…

【前端】緩存相關

本知識頁參考&#xff1a;https://zhuanlan.zhihu.com/p/586060532 1. 概述 1.1 應用場景 靜態資源 場景&#xff1a;圖片、CSS、JS 文件等靜態資源實現&#xff1a;使用 HTTP 緩存控制頭&#xff0c;或者利用 CDN 進行邊緣緩存 數據緩存 場景&#xff1a;請求的返回結果實現…

獵板硬金鍍層厚度:高頻通信領域的性能分水嶺

在 5G 基站、毫米波雷達等高頻場景中&#xff0c;硬金鍍層厚度的選擇直接決定了 PCB 的信號完整性與長期可靠性。獵板硬金工藝&#xff1a; 1.8μm 金層搭配羅杰斯 4350B 基材的解決方案&#xff0c;在 10GHz 頻段實現插入損耗&#xff1c;0.15dB/cm&#xff0c;較常規工藝降低…

第35次CCF計算機軟件能力認證-5-木板切割

原題鏈接&#xff1a; TUOJ 我自己寫的35分正確但嚴重超時的代碼 #include <bits/stdc.h> using namespace std; int main() {int n, m, k;cin >> n >> m >> k;vector<unordered_map<int, int>> mp(2);int y;for (int i 1; i < n; …

【藍橋杯】包子湊數

包子湊數 題目描述 小明幾乎每天早晨都會在一家包子鋪吃早餐。他發現這家包子鋪有 NN 種蒸籠&#xff0c;其中第 ii 種蒸籠恰好能放 AiAi? 個包子。每種蒸籠都有非常多籠&#xff0c;可以認為是無限籠。 每當有顧客想買 XX 個包子&#xff0c;賣包子的大叔就會迅速選出若干…

pikachu通關教程-目錄遍歷漏洞(../../)

目錄遍歷漏洞也可以叫做信息泄露漏洞、非授權文件包含漏洞等. 原理:目錄遍歷漏洞的原理比較簡單&#xff0c;就是程序在實現上沒有充分過濾用戶輸入的../之類的目錄跳轉符&#xff0c;導致惡意用戶可以通過提交目錄跳轉來遍歷服務器上的任意文件。 這里的目錄跳轉符可以是../…

[概率論基本概念4]什么是無偏估計

關鍵詞&#xff1a;Unbiased Estimation 一、說明 對于無偏和有偏估計&#xff0c;需要了解其敘事背景&#xff0c;是指整體和抽樣的關系&#xff0c;也就是說整體的敘事是從理論角度的&#xff0c;而估計器原理是從實踐角度說事&#xff1b;為了表明概率理論&#xff08;不可…

面試題——計算機網絡:HTTP和HTTPS的區別?

HTTP&#xff08;HyperText Transfer Protocol&#xff09;&#xff1a;作為互聯網上應用最廣泛的網絡通信協議&#xff0c;HTTP是基于TCP/IP協議族的應用層協議。它采用標準的請求-響應模式進行通信&#xff0c;通過簡潔的報文格式&#xff08;包含請求行、請求頭、請求體等&a…

uni-app學習筆記十九--pages.json全局樣式globalStyle設置

pages.json 頁面路由 pages.json 文件用來對 uni-app 進行全局配置&#xff0c;決定頁面文件的路徑、窗口樣式、原生的導航欄、底部的原生tabbar 等。 導航欄高度為 44px (不含狀態欄)&#xff0c;tabBar 高度為 50px (不含安全區)。 它類似微信小程序中app.json的頁面管理部…

SQL思路解析:窗口滑動的應用

目錄 &#x1f3af; 問題目標 第一步&#xff1a;從數據中我們能直接得到什么&#xff1f; 第二步&#xff1a;我們想要的“7天窗口”長什么樣&#xff1f; 第三步&#xff1a;SQL 怎么表達“某一天的前六天”&#xff1f; &#x1f50d;JOIN 比窗口函數更靈活 第四步&am…

解決MyBatis參數綁定中參數名不一致導致的錯誤問題

前言 作為一名Java開發者&#xff0c;我在實際項目中曾多次遇到MyBatis參數綁定的問題。其中最常見的一種情況是&#xff1a;在Mapper接口中定義的參數名與XML映射文件中的占位符名稱不一致&#xff0c;導致運行時拋出Parameter xxx not found類異常。這類問題看似簡單&#x…

黑馬程序員TypeScript課程筆記—類型兼容性篇

類型兼容性的說明 因為傳入的時候只有一個參數 對象之間的類型兼容性 接口之間的類型兼容性 函數之間的類型兼容性&#xff08;函數參數個數&#xff09; 和對象的兼容性正好相反 函數之間的類型兼容性&#xff08;函數參數類型&#xff09; 函數參數的兼容性就不要從接口角度…

智能電視的操作系統可能具備哪些優勢

豐富的應用資源&#xff1a; 操作系統內置了應用商店&#xff0c;提供了豐富的應用資源&#xff0c;涵蓋視頻、游戲、教育等多個領域&#xff0c;滿足不同用戶的多樣化需求。用戶可以輕松下載并安裝所需的應用&#xff0c;享受更多元化的娛樂和學習體驗。 流暢的操作體驗&…

Xget 正式發布:您的高性能、安全下載加速工具!

您可以通過 star 我固定的 GitHub 存儲庫來支持我&#xff0c;謝謝&#xff01;以下是我的一些 GitHub 存儲庫&#xff0c;很有可能對您有用&#xff1a; tzst Xget Prompt Library 原文 URL&#xff1a;https://blog.xi-xu.me/2025/06/02/xget-launch-high-performance-sec…

精美的軟件下載頁面HTML源碼:現代UI與動畫效果的完美結合

精美的軟件下載頁面HTML源碼&#xff1a;現代UI與動畫效果的完美結合 在數字化產品推廣中&#xff0c;一個設計精良的下載頁面不僅能提升品牌專業度&#xff0c;還能顯著提高用戶轉化率。本文介紹的精美軟件下載頁面HTML源碼&#xff0c;通過現代化UI設計與豐富的動畫效果&…