您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了如何使用git stash暫存,內容簡而易懂,希望大家可以學習一下,學習完之后肯定會有收獲的,下面讓小編帶大家一起來看看吧。
為什么我們需要它
不得不說,在知道這個命令的時,以及之后的使用中,我都超級熱愛這個命令,因為它真的太好用了。
給大家說一下我使用這個命令的場景:
此時我在 feature_666 分支,非常聚精會神加持高專注地實現一個功能 666 模塊,簡直鍵盤如飛的編寫代碼~~~
然后這時,客戶反饋出一個 bug , 非常嚴重,必須立馬解決,優先級為 0 !!!
于是,我需要去到 release 分支去 checkout 新的分支去工作了,但是 666 功能還沒完成怎么辦?
此時我面臨著一個選擇題:
A:提交后切換,代碼保存到分支 feature_666,卻產生一個無意義的提交
B:不提交直接切換,然而這個選項根本沒人會選。
是不是很難選,此時,別忘記還有 C 選項!
C:使用 git stash , 將當前修改(未提交的代碼)存入緩存區,切換分支修改 bug ,回來再通過 git stash pop 取出來。
1. 暫存操作
#查看當前狀態 git status #如果有修改,添加修改文件 git add . #暫存操作 git stash save '本次暫存的標識名字'
2. 查看當前暫存的記錄
#查看記錄 git stash list
修改存儲到什么位置了?
當我們使用 git init給項目添加版本控制的時候,會在項目路徑下生成一個 .git 隱藏文件夾。.git 中存儲著版本管理的所有信息。
.git/refs/stash 中,存儲的是最后一個 stash 對應的節點指針
同樣,在 .git/log/refs/stash 中可以看到我們全部的 stash 記錄信息
存儲多個 stash 的情況
ok ,我們來嘗試一下修改文件,然后再次使用 git stash ,此時我們有個兩個 暫存修改,那么怎么查看呢?
git stash list //查看暫存區的所有暫存修改記錄
如果在未提交的情況下,執行 git stash 兩次,無法準確分辨兩個stash 具體修改的是哪些內容,這樣用,顯的偉大的 Git 一點都不智能,怎么可以!。
所以,在這種情況下,給 stash 存儲的修改起個名字,顯然非常重要,方式如下:
git stash save <message>
3. 恢復暫存的工作
‘pop命令恢復,恢復后,暫存區域會刪除當前的記錄'
#恢復指定的暫存工作, 暫存記錄保存在list內,需要通過list索引index取出恢復 git stash pop stash@{index}
‘apply命令恢復,恢復后,暫存區域會保留當前的記錄'
#恢復指定的暫存工作, 暫存記錄保存在list內,需要通過list索引index取出恢復 git stash apply stash@{index}
4. 刪除暫存
#刪除某個暫存, 暫存記錄保存在list內,需要通過list索引index取出恢復 git stash drop stash@{index} #刪除全部暫存 git stash clear
以上就是關于如何使用git stash暫存的內容,如果你們有學習到知識或者技能,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。