這是我參與8月更文挑戰的第11天,活動詳情查看:8月更文挑戰git
使用背景:開發時常常有這樣的事情發生,當你正在進行項目中某一部分的開發時,裏面的代碼處於一個比較雜亂的狀態,而這時,由於某種緣由致使你須要到其餘分支上進行一些工做。問題是,你不想也不能提交進行了一半的工做,提交的話遠程分支被污染,不提交之後你沒法回到這個工做點。此時,一箭雙鵰的方案就是使用git stash
命令臨時存儲開發一半的代碼,後續開發完其它工做,再回到最初的分支取出存儲的代碼便可!markdown
爲了演示這一個功能須要本地增長一些開發代碼,例如我修改了一個文件後,至關於我本地開發了一部分比較雜亂的代碼。app
這時候我接到需求要切換到其餘分支進行開發。咱們進行stash
操做,雜亂的代碼就消失(儲藏)了post
儲藏當前工做區變動的代碼spa
git stash save "save message" // 執行存儲時,添加備註,方便查找,只有git stash 也要能夠的,但查找時不方便識別。
複製代碼
查看儲藏列表3d
此時咱們再來看看stash
列表有哪些提交內容,以前存儲的記錄已經出如今列表中,說明存儲成功了code
git stash list // 查看stash了哪些存儲
複製代碼
但咱們開發完內容後,想回過頭來繼續開發咱們以前儲存的代碼時,這時咱們須要應用儲藏的內容orm
應用儲藏的內容開發
git stash apply // 默認使用第一個存儲, 不會把存儲從存儲列表中刪除,,即stash@{0},若是要使用其餘個,git stash apply stash@{$num} , 好比第二個:git stash apply stash@{1}
複製代碼
使用這個命令後,咱們看到以前被儲藏的文件又出如今咱們的工做區了,能夠開開心心的繼續開發先前的內容了~~get
查看某條stash下面作了哪些文件的變動
git stash show // 顯示作了哪些改動,默認show第一個存儲,若是要顯示其餘存貯,後面加stash@{$num},好比第二個 git stash show stash@{1}
git stash show stash@{1} // 這裏提一下這個命令,在vscode終端內使用要選擇git環境,不然會報錯
複製代碼
查看某條stash下面作了哪些文件的的具體變動內容(能夠看代碼的具體變動內容)
git stash show -p // 默認顯示第一個存儲的改動,若是想顯示其餘存存儲,命令:git stash show stash@{$num} -p ,好比第二個:git stash show stash@{1} -p
複製代碼
應用儲藏記錄後刪除本條儲藏記錄
git stash pop // pop和apply的區別是:應用後刪除本條存儲記錄,若是要應用並刪除其餘stash,命令:git stash pop stash@{$num} ,好比應用並刪除第二個:git stash pop stash@{1}
複製代碼
刪除儲藏記錄,不該用
git stash drop // 默認刪除第一條儲藏,若是要刪除其餘stash,命令:git stash drop stash@{$num} ,好比刪除第二個:git stash drop stash@{1}
複製代碼
刪除全部儲藏的stash記錄
本章節介紹了stash的一個操做流程,若有不對之處歡迎指正,謝謝