git stash 常用命令:
-
git stash save “save message” : 執行存儲時,添加備注,方便查找,只有 git stash 也要可以的,但查找時不方便識別。
-
git stash list :查看 stash 了哪些存儲
-
git stash show :顯示做了哪些改動,默認 show 第一個存儲,如果要顯示其他存貯,后面加 stash@{$num},比如第二個 git stash show stash@{1}
-
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
-
說明:新增的文件,直接執行 stash 是不會被存儲的,如果要保存這個新增的文件,需要先執行下 git add 把文件加到 git 版本控制中,然后再 git stash 就可以了
-
總結下:git add 只是把文件加到 git 版本控制里,並不等於就被 stash 起來了,git add 和 git stash 沒有必然的關系,但是執行 git stash 能正確存儲的前提是文件必須在 git 版本控制中才行。
- 常規 git stash 的一個限制是它會一下暫存所有的文件。有時,只備份某些文件更為方便,讓另外一些與代碼庫保持一致。一個非常有用的技巧,用來備份部分文件:
- add 那些你不想備份的文件(例如: git add file1.js, file2.js)
- 調用 git stash –keep-index。只會備份那些沒有被 add 的文件。
- 調用 git reset 取消已經 add 的文件的備份,繼續自己的工作。