大前提,你用的版本工具是git。git
你正在開開心心的coding,東寫寫西改改。忽然!一我的對你說道「改個BUG」。若是這個BUG和你正在搞的代碼可能相關。怎麼辦?立馬改,爲本身埋了一個雷。過會改,處理不當,BUG高於需求。shell
此場景稀鬆日常。BUG隨時有,但你能作到隨時改嗎?git stash
拯救你。git的強大就是讓你各類切換,伸縮自如。segmentfault
使用git stash
保存當前的操做,若是不這麼作,你在切換到別的分支以前就必定要提交已經有的改動。但你當前的操做還沒有完成,因此要暫時保存起來。工具
直接使用git stash list
就能夠了。3d
shellMyPC:project limi$ git stash list stash@{0}: WIP on master: 3d72f0b clear file stash@{1}: WIP on start-test: fabaa87 fix bug
用git stash pop stash@{num}
,num
是你要恢復的操做的序號,因此你最好在回覆前用git stash list
查看一下。code
git stash pop
命令是恢復stash隊列中的stash@{0}
,而後從記錄就刪除,就是常規的pop
操做。隊列
stash存的不要過多,否則你也不知道哪一個是哪一個,最好隨時清一清。
把全部的記錄都清空掉用git stash clear
。get
謝謝依雲的補充說明it
git stash save some_msg 這樣就比較容易區分了。另外 git stash 是個一堆合併提交的分支,能夠在 tig 裏慢慢看。其實 git-stash 就一 shell 腳本……。ast