Git Stash貯藏命令使用及說明
一、前言
在使用Git過程中,有時當(dāng)你在項目的其它分支正在進(jìn)行開發(fā),并且該分支還尚未開發(fā)完成進(jìn)行提交,這個時候需要你切換分支進(jìn)行工作,這個時候做到一半的工作既不想全部丟掉又不想到處都是問題的就commit,十分沖突。解決問題的方法就是 git stash 命令
貯藏(stash)會處理工作目錄的臟的狀態(tài)——即跟蹤文件的修改與暫存的改動——然后將未完成的修改保存到一
個棧上, 而你可以在任何時候重新應(yīng)用這些改動(甚至在不同的分支上)。
如果你的文件是新建文件且沒有被跟蹤,這個時候stash 命令是不會生效的。
二、git stash命令演示
1、現(xiàn)有分支如下,stashtest分支為目前正在開發(fā)的分支,test分支為我們需要切換的分支。

2、修改test.txt 文件內(nèi)容,在文件中添加內(nèi)容作為我們正在開發(fā)的功能,此功能未開發(fā)完成,這個時候需要切換到test分支進(jìn)行修改可以使用如下命令進(jìn)行貯藏(stash)
git stash save “貯藏的信息”


3、當(dāng)我們的工作區(qū)沒有改動以后就可以放心的切換到其它分支進(jìn)行開發(fā),當(dāng)開發(fā)完成后在切換回stashtest分支,將貯藏的內(nèi)容從棧中彈出,繼續(xù)未完成的工作內(nèi)容。命令:
git stash pop stash@{序號}

4、查看貯藏列表,貯藏與分支無關(guān),可以將在僧a(chǎn)shtest分支上的貯藏在test分支彈出,命令:
git stash list

5、在stashtest分支添加一個新文件stash.txt,如果不執(zhí)行g(shù)it add . 將新增文件添加追蹤的話,git stash 是無法對其生效的

6、追蹤將新增加的文件,并將其貯藏

7、查看stash 中的改動,如果不指定序號,默認(rèn)為第一次貯藏的改動內(nèi)容。命令:
git stash show stash@{序號} -p

8、當(dāng)我們不想彈出貯藏List中最近一次的改動時,可以按序號彈出貯藏,命令:
git stash pop stash@{序號}

9、通過 git stash pop 命令我們可以看到當(dāng)彈出序號為1的貯藏以后,貯藏列表中同時已經(jīng)刪除了對應(yīng)的貯藏,如果有需要的話,可以使用 git stash apply 命令當(dāng)彈出變更,但是貯藏列表中不刪除彈出的該貯藏變更,命令:
git stash apply stash@{序號}

10、當(dāng)我們不想要某個貯藏,可以使用刪除命令,命令:
git stash drop stash@{需要}

11、清空貯藏列表,命令:
git stash clear

三、git stash命令總結(jié)
(1)git stash save “貯藏的信息” 存貯被追蹤的改動
(2)git stash list 顯示貯藏列表
(3)git stash show stash@{序號} -p 顯示某個貯藏的變動
(4)git stash pop stash@{序號} 彈出某個貯藏,并在貯藏列表中刪除該貯藏
(5)git stash apply stash@{序號} 彈出某個貯藏,但不在貯藏列表中刪除
(6)git stash drop stash@{需要} 刪除貯藏
(7)git stash clear 清空所有貯藏
四、總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
如何解決Git拉取合并代碼流程和多人協(xié)同開發(fā)問題
本文將介紹Git的基本操作流程以及解決多人協(xié)同開發(fā)中常見問題的方法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-03-03

