第 13 天:暫存工作目錄與索引的變更狀態
有沒有遇過這種情境,某個系統開發寫到一半,結果被老闆或客戶「插單」,被要求緊急修正一個現有系統的 Bug 或添加一個功能,眼前的程式即將完成,老闆的「急件」又不能拖,一個未完成的軟體開發狀態外加緊急調整的需求,這簡直是軟體品質的一大考驗。如果你有這種困擾,那麼 Git 可以漂亮的幫你完成任務。
認識 git stash 指令
我們知道使用 Git 版控的時候,有區分「工作目錄」與「索引」。工作目錄裡面會有你改到一半還沒改完的檔案(尚未加入索引),也有新增檔案但還沒加入的檔案(尚未加入索引)。而放在索引的資料,則是你打算透過 git commit
建立版本 (建立 commit 物件) 的內容。
當你功能開發到一半,被緊急插單一定手忙腳亂,尤其是手邊正改寫到一半的那些程式碼不知該如何是好。在 Git 裡有個 git stash
指令,可以自動幫你把改寫到一半的那些檔案建立一個「特殊的版本」(也是一個 commit 物件),我們稱這些版本為 stash 版本,或你可以直接稱他為「暫存版」。