1、切換分以前,添加改動文件到stash; git stash: 備份當前的工做區的內容,從最近的一次提交中讀取相關內容,讓工做區保證和上次提交的內容一致。同時,將當前的工做區內容保存到Git棧中。git
git stash pop: 從Git棧中讀取最近一次保存的內容,恢復工做區的相關內容。因爲可能存在多個Stash的內容,因此用棧來管理,pop會從最近的一個stash中讀取內容並恢復。緩存
git stash list: 顯示Git棧內的全部備份,能夠利用這個列表來決定從那個地方恢復。app
git stash clear: 清空Git棧。此時使用gitg等圖形化工具會發現,原來stash的哪些節點都消失了。工具
在原分支 git stash save -a 「messeag」,-a選項纔會將新加入的代碼文件同時放入暫存區。若是是之前就有了,那麼就不用加-a,你加的話,會報錯的。get
這裏的message已經要標註狀況,分支卻是不用標明,必定要標明他的用途,否則你真的會亂的。it
2、切換回之前的分支後,若是你要恢復的是最近的一次改動,git stash pop,我想這是你們最經常使用的命令了吧; 若是有屢次stash操做,那就經過git stash list查看stash列表,從中選擇你想要pop的stash,運行命令git stash pop stash@{id}或者 git stash apply stash@{id}便可。im
3、刪除stash; git stash drop stash@{id} 若是不加stash編號,默認的就是刪除最新的,也就是編號爲0的那個,加編號就是刪除指定編號的stash。 當你都玩完了後,能夠用git stash clear清理全部的緩存記錄。apply
4、git stash pop 與 git stash apply 的區別; 這兩個命令的區別。原來git stash pop stash@{id}命令會在執行後將對應的stash id 從stash list裏刪除,而 git stash apply stash@{id} 命令則會繼續保存stash id。 通常來講你直接git stash pop stash@{id}就能夠了,固然你若是想存下來,再後期的再次復原的話,能夠用git satsh apply 。 見過一同事在git commit以前,竟然在stash緩存區內放入了二十幾回的stash記錄,這尼瑪,你就不能commit下呀。文件
參考網址備份