1. 程式人生 > 其它 >git stash用法

git stash用法

git stash用法
場景:修改的檔案在本地,還沒有add 和commit,
此時想切換分支,不想提交,可以先用stash快取起來,切回來後,再還原。

git stash -h

常用git stash命令:

(1)git stash save "save message" : 執行儲存時,新增備註,方便查詢,只有git stash 也要可以的,但查詢時不方便識別。

(2)git stash list :檢視stash了哪些儲存

(3)git stash show :顯示做了哪些改動,預設show第一個儲存,如果要顯示其他存貯,後面加stash@{$num},比如第二個 git stash show stash@{1}

(4)git stash show -p : 顯示第一個儲存的改動,如果想顯示其他存儲存,命令:git stash show stash@{$num} -p ,比如第二個:git stash show stash@{1} -p

(5)git stash apply :應用某個儲存,但不會把儲存從儲存列表中刪除,預設使用第一個儲存,即stash@{0},如果要使用其他個,git stash apply stash@{$num} , 比如第二個:git stash apply stash@{1}

(6)git stash pop :命令恢復之前快取的工作目錄,將快取堆疊中的對應stash刪除,並將對應修改應用到當前的工作目錄下,預設為第一個stash,即stash@{0},如果要應用並刪除其他stash,命令:git stash pop stash@{$num} ,比如應用並刪除第二個:git stash pop stash@{1}

(7)git stash drop stash@{$num} :丟棄stash@{$num}儲存,從列表中刪除這個儲存

(8)git stash clear :刪除所有快取的stash

a.如果還原錯快取了,可以用git checkout . 丟棄還原的內容
b.已經add,沒有commit的檔案,可以用 git reset HEAD <檔名> 命令取消,還原到本地環境中

git reset HEAD <檔名>   取消指定檔案
git reset HEAD .   取消全部快取車中的檔案

例子:
haima@haima-PC:~/Desktop/testgit$ git status
位於分支 master
要提交的變更:
(使用 "git reset HEAD <檔案>..." 以取消暫存)

修改:     123.txt

參考檔案:
https://www.cnblogs.com/zndxall/archive/2018/09/04/9586088.html
https://www.cnblogs.com/tocy/p/git-stash-reference.html

[Haima的部落格] http://www.cnblogs.com/haima/