當你在開發項目的時候,突然有個線上bug要緊急處理,但你當前的分支項目還沒開發完,代碼寫了一半,沒辦法提交(嚴格要求自己的話,每次提交是一個完整的有意義的功能或者代碼段),這個時候怎么辦呢?
git stash save "save message" : 執行存儲時,添加備注,方便查找,只有git stash 也要可以的,但查找時不方便識別。
注意:未添加到版本庫的文件(untracked)是不能stash的,所以新增的文件 要 add之后
再git stash
> git stash list
查看stash了哪些存儲
> git stash show [-p] :
顯示第一個存儲的改動,如果想顯示其他存存儲,命令:git stash show stash@{$num} -p ,比如第二個:git stash show stash@{1} -p
> git stash apply
應用某個存儲,但不會把存儲從存儲列表中刪除,默認使用第一個存儲,即stash@{0},如果要使用其他個,git stash apply stash@{$num} , 比如第二個:git stash apply stash@{1}
> git stash pop
命令恢復之前緩存的工作目錄,將緩存堆棧中的對應stash刪除,并將對應修改應用到當前的工作目錄下,默認為第一個stash,即stash@{0},如果要應用并刪除其他stash,命令:git stash pop stash@{$num} ,比如應用并刪除第二個:git stash pop stash@{1}
> git stash drop stash@{$num}
丟棄stash@{$num}存儲,從列表中刪除這個存儲
> git stash clear
刪除所有緩存的stash