git stash

Posted by Eirik on 6 Apr, 2024

在開發軟體時,可能會遇到一種情境:當某個系統開發已經進行到一半,突然被老闆或客戶「插隊」,需要緊急修正一個現有系統的 Bug 或添加一個功能。

這時候,眼前的程式即將完成,但又不能拖延,因為老闆的「急件」需要優先處理。

這種未完成的軟體開發狀態外加緊急調整的需求,對於軟體品質是一大考驗。在這樣的情況下,git stash 可以幫助你優雅應對這樣的狀況。

以下是 git stash 命令的基本使用方法的繁體中文翻譯:

  1. 保存工作目錄的更改

    git stash
    

    這個命令將當前工作目錄中尚未暫存的更改(包括tracked和untracked的文件)保存到一個臨時存儲區。

  2. 查看已保存的臨時儲存

    git stash list
    

    這個命令可以查看所有已經保存的臨時stash。每個存儲都會有一個唯一的標識符(stash ID)和一個描述。

  3. 套用臨時儲存的更改

    git stash apply
    

    這個命令會將最近的臨時存儲的更改應用到當前工作目錄中,但並不會刪除這個stash。

  4. 應用特定的臨時存儲

    git stash apply stash@{n}
    

    這個命令會將指定的臨時stash的更改應用到當前工作目錄中。stash@{n} 中的 n 是存儲的索引號,可以從 git stash list 中獲取。

  5. 應用並刪除臨時存儲的更改

    git stash pop
    

    這個命令會將最近的臨時存儲的更改應用到當前工作目錄中,並將這個stash刪除。

  6. 刪除特定的臨時存儲

    git stash drop stash@{n}
    

    這個命令會刪除指定的臨時stash,stash@{n} 中的 n 是stash的索引號。

  7. 應用並刪除所有的臨時存儲

    git stash clear
    

    這個命令會刪除所有的臨時存儲。