Git Stash 暫存檔案

當隕石從天而降,被迫必須臨時切換任務時,我們未完成的 Code 該怎麼處理呢?如果不想把未完成的檔案 Commit 上去,還有什麼辦法可以暫存這些檔案呢?

使用情境 ☄️

小明的公司使用的是現今業界最常見的軟體開發方式 - 隕石式開發法,今天他在 feat/A 這個 Branch 開發 A 功能,然而在他的開心 Coding 時光進行到一半時,主管跑來交代小明全新的 B 功能,並告訴小明 B 功能比較緊急,要小明優先處理這個 Issue。
但是!小明就是不想要把目前未完成的檔案 Commit 上去,他該如何「暫時儲存」手上正在開發的檔案呢 🤔

Stash(暫存)

以下是 Stash(暫存)的使用方式,可以幫助小明暫存手邊未完成的檔案:

  1. 首先使用 git stash 指令,幫我們暫時儲存工作目錄與索引
  2. 儲存起來的檔案可以透過 git stash list 查看暫存清單
  3. 處理好臨時交辦的 Issue 後,可以透過 git stash pop 叫回之前的檔案
  4. 最後使用 git stash drop 清除掉最新的一筆暫存,或是使用 git stash clear 一次清除全部暫存

所以使用 Stash 的好處,就是我們可以把開發中的東西先儲存起來,後續再把它們召喚回來繼續開發,這個功能在臨時需要切換任務時還滿實用的 📝

補充說明一下,當我們使用 git stash pop 恢復暫存的操作後,Git 會自動清除掉剛才恢復的那一筆暫存的紀錄,所以如果你只有那一筆暫存,恢復之後就不需要再做清除暫存的動作囉 👀

參考資料

  1. Stash(暫存) | 連猴子都能懂的 Git 入門指南 | 貝格樂(Backlog)

以上資源是我自己整理過後的筆記,若有錯誤歡迎隨時和我聯繫。