溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何實(shí)現(xiàn)“git stash”暫存操作

發(fā)布時(shí)間:2021-03-16 10:49:08 來源:億速云 閱讀:281 作者:小新 欄目:軟件技術(shù)

小編給大家分享一下如何實(shí)現(xiàn)“git stash”暫存操作,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

為什么我們需要它

不得不說,在知道這個(gè)命令的時(shí),以及之后的使用中,我都超級(jí)熱愛這個(gè)命令,因?yàn)樗娴奶糜昧恕?/p>

給大家說一下我使用這個(gè)命令的場(chǎng)景:

此時(shí)我在 feature_666 分支,非常聚精會(huì)神加持高專注地實(shí)現(xiàn)一個(gè)功能 666 模塊,簡(jiǎn)直鍵盤如飛的編寫代碼~~~
然后這時(shí),客戶反饋出一個(gè) bug , 非常嚴(yán)重,必須立馬解決,優(yōu)先級(jí)為 0 !??!
于是,我需要去到 release 分支去 checkout 新的分支去工作了,但是 666 功能還沒完成怎么辦?
此時(shí)我面臨著一個(gè)選擇題:
A:提交后切換,代碼保存到分支 feature_666,卻產(chǎn)生一個(gè)無意義的提交
B:不提交直接切換,然而這個(gè)選項(xiàng)根本沒人會(huì)選。

是不是很難選,此時(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)識(shí)名字'

2. 查看當(dāng)前暫存的記錄

#查看記錄
git stash list

修改存儲(chǔ)到什么位置了?

當(dāng)我們使用 git init給項(xiàng)目添加版本控制的時(shí)候,會(huì)在項(xiàng)目路徑下生成一個(gè) .git 隱藏文件夾。.git 中存儲(chǔ)著版本管理的所有信息。
.git/refs/stash 中,存儲(chǔ)的是最后一個(gè) stash 對(duì)應(yīng)的節(jié)點(diǎn)指針

同樣,在 .git/log/refs/stash 中可以看到我們?nèi)康?stash 記錄信息

存儲(chǔ)多個(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 存儲(chǔ)的修改起個(gè)名字,顯然非常重要,方式如下:

git stash save <message>

3. 恢復(fù)暫存的工作

‘pop命令恢復(fù),恢復(fù)后,暫存區(qū)域會(huì)刪除當(dāng)前的記錄'

#恢復(fù)指定的暫存工作, 暫存記錄保存在list內(nèi),需要通過list索引index取出恢復(fù)
git stash pop stash@{index}

‘a(chǎn)pply命令恢復(fù),恢復(fù)后,暫存區(qū)域會(huì)保留當(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

以上是“如何實(shí)現(xiàn)“git stash”暫存操作”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

git
AI