摘自《Git權威指南》
git stash用於保存和恢復工作進度。
git stash
保存當前的工作進度。會分別對暫存區和工作區的狀態進行保存。
git stash list
顯示進度列表。此命令顯然暗示了git stash 可以多次保存工作進度,並用在恢復時候 選擇。
git stash pop [--index] [<stash>]
如果不使用任何參數,會恢復最新保存的工作進度,並將恢復的工作進度從存儲的工作 進度列表中清除。
如果提供<stash>參數(來自git 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>
基於進度創建分支。