工作幹了一半,領導又給了急活,手頭的代碼還沒法提交怎麼辦?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

能力有限,如有問題,多多指教,原創不易,點個贊吧!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章