git stash
零、小序
工作中有時候會遇到這樣的情況:手頭的工作剛乾了一半,領導突然佈置了新的緊急任務,需要切換分支,而現在的代碼又不想提交或者不能提交,這個時候該怎麼辦?有辦法!git 一個stash幫你輕鬆搞定!來看看今天的主角吧-git stash。
一、git stash家族
1、git stash
git stash可以將所有未提交的修改保存至堆場的存儲中,用於後續恢復到當前工作目錄,這些修改包括工作區的和暫存區的修改,堆場的保存遵守先進後出原則,像數據結構中的棧一樣,後面會有演示。
2、git stash save “message”
git stash save "message"的作用和git stash一樣,主要區別是這個命令可以加一些註釋信息,方便後續的查找和識別。
3、git stash list
git stash list用於查看當前堆場中有哪些內容。
4、git stash show
git stash show用於顯示做了哪些改動,默認顯示第一個堆場的存儲,當需要顯示其他堆場的存貯時,後面需要加上stash@{num},如git stash show stash@{1}表示顯示第二個堆場存儲。
5、git stash pop
git stash pop用於恢復之前緩存的工作目錄,將緩存堆場中對應的stash刪除,並將對應修改應用到當前的工作目錄下,默認爲第一個堆場是stash@{0},當需要應用並刪除其他堆場存儲時,後面需要加上stash@{num},如git stash pop stash@{1}表示刪除第二個堆場存儲。
6、git stash apply
git stash apply應用某個堆場存儲,和git stash pop命令類似,但不會把stash從堆場存儲列表中刪除,默認使用第一個存儲stash@{0},當需要應用其他堆場存儲時,後面需要加上stash@{num},如git stash apply stash@{1} 表示應用第二個。
7、git stash drop
git stash drop丟棄某個堆場存儲,並從堆場存儲列表中刪除,默認使用第一個存儲stash@{0},當需要丟棄其他堆場存儲時,後面需要加上stash@{num},如git stash drop stash@{1} 表示丟棄第二個。
8、git stash clear
git stash clear用於刪除所有緩存的stash堆場。
二、命令使用示例
1、修改文件
使用vim命令修改文件test.txt,linux下的很多文件操作命令在git下同樣可以使用。
2、使用git stash保存堆場
保存後修改的文件紅色消失,打開文件看一下會看到是沒有修改前的內容。
3、使用git stash list顯示堆場
4、使用git stash show顯示做的改動
5、使用git stash pop恢復之前緩存
6、使用git stash apply應用某個堆場存儲
注意下面的圖中保存了兩次堆場。
從下面使用git stash list可以看到堆場的存儲順序是先進後出的,和棧的性質一樣的,並且可以看出使用命令git stash apply stash@{0}應用堆場後,堆場也沒有刪除掉。
7、使用git stash drop丟棄堆場
8、使用git stash clear清空堆場
9、你可能需要的git知識
https://blog.csdn.net/toby54king/category_9509929.html
能力有限,如有問題,多多指教,原創不易,點個贊吧!