Git Stash 懶人包:臨時置物櫃的強大功能,再也不怕工作被打斷

Josh-avatar-img
發佈於學習
更新 發佈閱讀 4 分鐘
vocus|新世代的創作平台

前言:當工作遇上突發狀況

在軟體開發的過程中,我們最常遇到的情境就是:你正在開發新功能,程式碼寫到一半,還不完整、跑不起來。這時同事突然喊說:「線上版本有緊急 Bug,快切換到主分支修復!」

你不想 commit,因為那是破碎的內容;你也不想放棄改動。這時候,你需要的不是「存檔」,而是 Git Stash。

什麼是 Git Stash?

簡單來說,git stash 就像是一個**「臨時置物櫃」「暫存口袋」**。

它能幫你把當前工作目錄下所有「還沒準備好要提交」的改動暫時藏起來,讓你的工作區立刻恢復到乾淨的狀態,好讓你放心地切換到別的分支去處理緊急Bug。


核心操作指令速查

1. 把東西收進置物櫃 (Push)

這是最基本的動作,把手邊改動暫存起來。

  • 指令: git stash

進階撇步: git stash save "正在開發 feature-A 的 UI 部分" 加上說明文字,能讓你之後要拿出來時更快找到正確的那一份。

2. 查看置物櫃清單 (List)

如果你 stash 了不只一次,可以用這個指令查看所有暫存:

  • 指令: git stash list 它會以類似 stash@{0}, stash@{1} 這種堆疊(Stack)方式排列,越晚存進去的會在越上面。

3. 把東西拿出來還原 (Pop / Apply)

處理完緊急事務後,回到原本的分支,你有兩種方式把改動拿出來:

  • Pop(還原並刪除): 東西拿出來後,置物櫃裡的紀錄會自動刪除。
    • git stash pop
  • Apply(還原但保留): 東西拿出來了,但置物櫃裡還留著一份副本。
    • git stash apply

4. 清理置物櫃 (Drop / Clear)

  • 刪除特定紀錄: git stash drop stash@{0}
  • 一鍵清空所有暫存: git stash clear

進階技巧 & 避坑指南

1. 新檔案存不進去?

預設情況下,git stash 不會收納「新建立但還沒 add」的檔案(Untracked 檔案)。如果你剛建立了一個新檔案但沒 add,它是存不進去的。

  • 解法: 使用 git stash -u (include-untracked),就能連同新檔案一起暫存。

2. 置物櫃的「盲盒感」

如果你 stash 了太多次卻沒寫說明,最後你會有 stash@{0}stash@{10},完全不知道裡面是什麼。建議養成寫 save "說明" 的習慣!

該用 Stash 還是 Worktree?

這兩者都是為了解決「多工切換」的問題,但情境略有不同:

  • 使用 Git Stash 的時機: 只是臨時走開 5 分鐘處理一個小問題,處理完馬上就會回來,且不需要同時開著兩邊的程式碼。
  • 使用 Git Worktree 的時機: 需要處理的問題比較複雜、需要參考原本開發分支的邏輯,或者你正在跑一個很長的測試,不想打斷它。

簡單來說,Stash 是**「暫停工作」,而 Worktree 是「多開視窗」**!

留言
avatar-img
Josh的沙龍
59會員
125內容數
分享知識
Josh的沙龍的其他內容
2026/04/17
還在用 Git Stash 頻繁切換分支嗎?本文介紹 Git Worktree 強大功能,讓你在同一專案下並行多個工作目錄。包含實戰指令、常見錯誤排除,以及如何優雅地在專案內管理多個分支開發,徹底提升你的開發效率!
Thumbnail
2026/04/17
還在用 Git Stash 頻繁切換分支嗎?本文介紹 Git Worktree 強大功能,讓你在同一專案下並行多個工作目錄。包含實戰指令、常見錯誤排除,以及如何優雅地在專案內管理多個分支開發,徹底提升你的開發效率!
Thumbnail
2026/04/10
標籤命名有空格或需要更改已上傳的 Tag?本文整理 Git 標籤管理實戰技巧,包含回溯補打、刪除遠端標籤、正確命名規則及附註標籤用法。透過簡單指令,讓你專業管理版本發布,避免團隊溝通混亂。
Thumbnail
2026/04/10
標籤命名有空格或需要更改已上傳的 Tag?本文整理 Git 標籤管理實戰技巧,包含回溯補打、刪除遠端標籤、正確命名規則及附註標籤用法。透過簡單指令,讓你專業管理版本發布,避免團隊溝通混亂。
Thumbnail
2026/04/10
版本發布後才發現忘記打標籤?別擔心!本文教你如何在 Git 歷史紀錄中定位特定的 Commit ID,並快速補上輕量或附註標籤,最後同步至遠端伺服器。簡單三步驟,讓你的版本管理更加清晰專業。
Thumbnail
2026/04/10
版本發布後才發現忘記打標籤?別擔心!本文教你如何在 Git 歷史紀錄中定位特定的 Commit ID,並快速補上輕量或附註標籤,最後同步至遠端伺服器。簡單三步驟,讓你的版本管理更加清晰專業。
Thumbnail
看更多
你可能也想看
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
《轉轉生》(Re:INCARNATION)為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,結合拉各斯街頭節奏、Afrobeat/Afrobeats、以及約魯巴宇宙觀的非線性時間,建構出關於輪迴的「誕生—死亡—重生」儀式結構。本文將從約魯巴哲學概念出發,解析其去殖民的身體政治。
Thumbnail
《轉轉生》(Re:INCARNATION)為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,結合拉各斯街頭節奏、Afrobeat/Afrobeats、以及約魯巴宇宙觀的非線性時間,建構出關於輪迴的「誕生—死亡—重生」儀式結構。本文將從約魯巴哲學概念出發,解析其去殖民的身體政治。
Thumbnail
這篇文章將會介紹分支的合併,以及它常見的分類。
Thumbnail
這篇文章將會介紹分支的合併,以及它常見的分類。
Thumbnail
最近在找資料的時候,偶然發現了兩個有趣的 git 指令:git commit --fixup 和 git rebase -i <sha> --autosquash。 研究了下發現對於像我這種每次 commit 都要斤斤計較,盡可能完美的人來說非常好用,因此寫一篇筆記記錄一下用法。
Thumbnail
最近在找資料的時候,偶然發現了兩個有趣的 git 指令:git commit --fixup 和 git rebase -i <sha> --autosquash。 研究了下發現對於像我這種每次 commit 都要斤斤計較,盡可能完美的人來說非常好用,因此寫一篇筆記記錄一下用法。
Thumbnail
這篇文章將會講解 Git 專案上傳 GitHub 的流程。
Thumbnail
這篇文章將會講解 Git 專案上傳 GitHub 的流程。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
有關 git add, git commit, git push
Thumbnail
有關 git add, git commit, git push
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News