#### 刪除本地多余的目錄和文件
~~~
$ git clean -nd
~~~
查看哪些文件和目錄會被刪除
~~~
$ git clean -fd
~~~
真正開始強制刪除多余的目錄和文件
#### 保存和恢復工作進度
~~~
$ git stash
~~~
保存當前的工作進度,會分別對暫存區和工作區的狀態進行保存
~~~
$ git stash list
~~~
顯示進度列表
~~~
$ git stash pop [--index] [<stash>]
~~~
如果不使用任何參數,會恢復最新保存的工作進度,并將恢復的工作進度從存儲的工作進度列表中清除。如果提供<stash>參數(來自list顯示的列表),則從該<stash>中恢復,恢復完畢也將從進度列表中刪除<stash>。--index除了恢復工作區的文件外,還嘗試恢復暫存區
~~~
$ git stash [save [--patch] [-k|--[no-]keep-index] [-q|--quiet] [<message>]]
~~~
git stash命令的完整版,即如果需要在保存工作進度時使用指定的說明,必須使用如下格式:git stash save "message..."
使用參數--patch會顯示工作區和HEAD的差異,通過對差異文件的編輯決定在進度中最終要保存的工作區的內容,通過編輯差異文件可以在進度中排除無關內容。
使用-k或--keep-index參數在保存進度后不會將暫存區重置,默認會將暫存區和工作區強制重置
~~~
$ git stash apply [--index] [<stash>]
~~~
除了不刪除恢復的進度之外,其余與git stash pop一樣
~~~
$ git stash drop [<stash>]
~~~
刪除一個存儲的進度,默認刪除最新的進度
~~~
$ git stash clear
~~~
刪除所有存儲的進度
~~~
$ git stash branch <branchname> <stash>
~~~
基于進度創建分支