身為一名工程師真的很討厭被打斷工作,當你沈浸在 coding 的世界時,如果有人來吵鬧真的會很想揍他一拳。
可是,就有那麼一個人,就算他打亂了你的行程你還是只能笑著跟他說「好!」
沒錯!他就是我們偉大的老闆。(老闆說的哪次不好拉)
如果老闆跟你說「先暫停這個工作,來處理這個問題」,你也只能摸摸鼻子乖乖聽話,但是現在做到一半的工作怎麼辦?要直接 commit 嗎?但是這個內容還很雜亂,如果 commit 很沒意義欸!
登愣登愣~這個時候,就可以使用「 Stash 暫存」這個功能了!
Stash 是什麼?
他是一個可以讓你將目前的工作先暫存起來,然後你就可以先去解決其他問題,等到你處理完就可以再回去暫存將那些未完成的工作取出繼續處理。
首先,我們先使用 git status
查看目前狀況,我們可以觀察到 head.pptx 跟 project.py 這兩個檔案都還沒被加到索引中,但我們現在臨時需要做別件事,這些檔案該怎麼辦呢?
沒錯!就可以使用 git 的 stash 功能了
git stash
使用 git stash
後,再利用 git status
來觀察會發現檔案都不見了
那些檔案去哪裡了呢?可以使用 git stash list
列出暫存空間裡的清單
當你處理完問題後,想再把剛剛未完成的檔案取出,只要輸入以下指令
git stash pop
上面這個指令會 pop 出第一個 stash,倘若要指定編號的話可以使用以下指令
git stash pop stash@{n}
可以看到這兩個檔案又回來了!也可以再使用 git status
Double check
需要注意的一點!!在進行 git stash pop
時要先將 git status
內的檔案清空,否則有可能會發生衝突。
檔案暫存· Git
【狀況題】手邊的工作做到一半,臨時要切換到別的任務