git stash暫存的操作方法
為什么我們需要它
不得不說,在知道這個(gè)命令的時(shí),以及之后的使用中,我都超級熱愛這個(gè)命令,因?yàn)樗娴奶糜昧恕?/p>
給大家說一下我使用這個(gè)命令的場景:
此時(shí)我在 feature_666 分支,非常聚精會神加持高專注地實(shí)現(xiàn)一個(gè)功能 666 模塊,簡直鍵盤如飛的編寫代碼~~~
然后這時(shí),客戶反饋出一個(gè) bug , 非常嚴(yán)重,必須立馬解決,優(yōu)先級為 0 ?。?!
于是,我需要去到 release 分支去 checkout 新的分支去工作了,但是 666 功能還沒完成怎么辦?
此時(shí)我面臨著一個(gè)選擇題:
A:提交后切換,代碼保存到分支 feature_666,卻產(chǎn)生一個(gè)無意義的提交
B:不提交直接切換,然而這個(gè)選項(xiàng)根本沒人會選。
是不是很難選,此時(shí),別忘記還有 C 選項(xiàng)!
C:使用 git stash , 將當(dāng)前修改(未提交的代碼)存入緩存區(qū),切換分支修改 bug ,回來再通過 git stash pop 取出來。
1. 暫存操作
#查看當(dāng)前狀態(tài) git status #如果有修改,添加修改文件 git add . #暫存操作 git stash save '本次暫存的標(biāo)識名字'
2. 查看當(dāng)前暫存的記錄
#查看記錄 git stash list
修改存儲到什么位置了?
當(dāng)我們使用 git init給項(xiàng)目添加版本控制的時(shí)候,會在項(xiàng)目路徑下生成一個(gè) .git 隱藏文件夾。.git 中存儲著版本管理的所有信息。
.git/refs/stash 中,存儲的是最后一個(gè) stash 對應(yīng)的節(jié)點(diǎn)指針
同樣,在 .git/log/refs/stash 中可以看到我們?nèi)康?stash 記錄信息
存儲多個(gè) stash 的情況
ok ,我們來嘗試一下修改文件,然后再次使用 git stash ,此時(shí)我們有個(gè)兩個(gè) 暫存修改,那么怎么查看呢?
git stash list //查看暫存區(qū)的所有暫存修改記錄
如果在未提交的情況下,執(zhí)行 git stash 兩次,無法準(zhǔn)確分辨兩個(gè)stash 具體修改的是哪些內(nèi)容,這樣用,顯的偉大的 Git 一點(diǎn)都不智能,怎么可以!。
所以,在這種情況下,給 stash 存儲的修改起個(gè)名字,顯然非常重要,方式如下:
git stash save <message>
3. 恢復(fù)暫存的工作
‘pop命令恢復(fù),恢復(fù)后,暫存區(qū)域會刪除當(dāng)前的記錄'
#恢復(fù)指定的暫存工作, 暫存記錄保存在list內(nèi),需要通過list索引index取出恢復(fù)
git stash pop stash@{index}
‘a(chǎn)pply命令恢復(fù),恢復(fù)后,暫存區(qū)域會保留當(dāng)前的記錄'
#恢復(fù)指定的暫存工作, 暫存記錄保存在list內(nèi),需要通過list索引index取出恢復(fù)
git stash apply stash@{index}
4. 刪除暫存
#刪除某個(gè)暫存, 暫存記錄保存在list內(nèi),需要通過list索引index取出恢復(fù)
git stash drop stash@{index}
#刪除全部暫存
git stash clear
到此這篇關(guān)于git stash暫存的操作方法的文章就介紹到這了,更多相關(guān)git stash暫存內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
json轉(zhuǎn)String與String轉(zhuǎn)json及判斷對象類型示例代碼
正如標(biāo)題所言json轉(zhuǎn)String和String轉(zhuǎn)json以及判斷對象類型,在網(wǎng)上會搜到很多的相關(guān)文章,不過大都介紹的籠統(tǒng),下面有個(gè)不錯(cuò)的示例,感興趣的朋友可以參考下2013-10-10
git遠(yuǎn)程操作異常:correct access rights問題及解決
這篇文章主要介紹了git遠(yuǎn)程操作異常:correct access rights問題及解決,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-03-03
VScode敲代碼時(shí)自動導(dǎo)入包的解決方案
這篇文章主要介紹了VScode敲代碼時(shí)自動導(dǎo)入包的解決方案,文中通過圖文介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用vscode具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-09-09
JetBrains公司三大編輯器迭代循環(huán)模板快捷鍵詳解
這篇文章主要介紹了JetBrains公司三大編輯器迭代循環(huán)模板快捷鍵,如果快捷鍵無用,請到keymap中調(diào)整自己的快捷鍵,或者查看是否有應(yīng)用占用了該快捷鍵,需要的朋友可以參考下2022-04-04

