git基操指南,開發時忽然切換需求怎麼辦?

這是我參與8月更文挑戰的第11天,活動詳情查看:8月更文挑戰git

前言

使用背景:開發時常常有這樣的事情發生,當你正在進行項目中某一部分的開發時,裏面的代碼處於一個比較雜亂的狀態,而這時,由於某種緣由致使你須要到其餘分支上進行一些工做。問題是,你不想也不能提交進行了一半的工做,提交的話遠程分支被污染,不提交之後你沒法回到這個工做點。此時,一箭雙鵰的方案就是使用git stash命令臨時存儲開發一半的代碼,後續開發完其它工做,再回到最初的分支取出存儲的代碼便可!markdown

演示

爲了演示這一個功能須要本地增長一些開發代碼,例如我修改了一個文件後,至關於我本地開發了一部分比較雜亂的代碼。app

image-20210811095637520.png

這時候我接到需求要切換到其餘分支進行開發。咱們進行stash操做,雜亂的代碼就消失(儲藏)了post

image-20210811100218721.png

image-20210811103031577.png

git stash save

儲藏當前工做區變動的代碼spa

git stash save "save message"   // 執行存儲時,添加備註,方便查找,只有git stash 也要能夠的,但查找時不方便識別。
複製代碼

git stash list

查看儲藏列表3d

此時咱們再來看看stash列表有哪些提交內容,以前存儲的記錄已經出如今列表中,說明存儲成功了code

image-20210811101029384.png

git stash list      // 查看stash了哪些存儲
複製代碼

但咱們開發完內容後,想回過頭來繼續開發咱們以前儲存的代碼時,這時咱們須要應用儲藏的內容orm

git stash apply

應用儲藏的內容開發

git stash apply     // 默認使用第一個存儲, 不會把存儲從存儲列表中刪除,,即stash@{0},若是要使用其餘個,git stash apply stash@{$num} , 好比第二個:git stash apply stash@{1} 
複製代碼

image-20210811103849041.png

小結

使用這個命令後,咱們看到以前被儲藏的文件又出如今咱們的工做區了,能夠開開心心的繼續開發先前的內容了~~get

其餘操做

git stash show

查看某條stash下面作了哪些文件的變動

image-20210811101215972.png

git stash show  // 顯示作了哪些改動,默認show第一個存儲,若是要顯示其餘存貯,後面加stash@{$num},好比第二個 git stash show stash@{1}
​
git stash show stash@{1} // 這裏提一下這個命令,在vscode終端內使用要選擇git環境,不然會報錯
複製代碼

git stash show -p

查看某條stash下面作了哪些文件的的具體變動內容(能夠看代碼的具體變動內容)

image-20210811102645036.png

git stash show -p // 默認顯示第一個存儲的改動,若是想顯示其餘存存儲,命令:git stash show stash@{$num}  -p ,好比第二個:git stash show  stash@{1}  -p
複製代碼

git stash pop

應用儲藏記錄後刪除本條儲藏記錄

git stash pop   // pop和apply的區別是:應用後刪除本條存儲記錄,若是要應用並刪除其餘stash,命令:git stash pop stash@{$num} ,好比應用並刪除第二個:git stash pop stash@{1}
複製代碼

git stash drop

刪除儲藏記錄,不該用

git stash drop  // 默認刪除第一條儲藏,若是要刪除其餘stash,命令:git stash drop stash@{$num} ,好比刪除第二個:git stash drop stash@{1}
複製代碼

git stash clear

刪除全部儲藏的stash記錄

本章小結

本章節介紹了stash的一個操做流程,若有不對之處歡迎指正,謝謝

相關文章
相關標籤/搜索