git stash
用于暂存工作区未提交的内容,便于在同时开发多个分支需要切换时保存当前分支进度。
-
list
语法git stash list [<options>]
,与git log
功能类似,列出储藏列表,options 参数可以参考git log
的参数 -
show
语法git stash show [<options>] [<stash>]
,和git show
功能类似 -
save
语法git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet] [-u|--include-untracked] [-a|--all] [<message>]
,- 将本地更改保存到新的储藏队列,
[-p|--patch]
以patch
模式提交,允许选择需要保存的块,具体参考git add
的--patch
模式[-k|--[no-]keep-index]
[不]保留 index 序号[-q|--quiet]
静默执行,即不显示结果[-u|--include-untracked]
储藏时包括未跟踪的文件[-a|--all]
储藏所有文件,包括忽略的文件- 建议使用
push
代替save
-
push
语法git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet] [-u|--include-untracked] [-a|--all] [-m|--message <message>] [--] [<pathspec>...]]
- 将本地修改保存到新的储藏队列,用法与save基本一致,多了
[--] [<pathspec>...]
可选参数 [--] [<pathspec>...]
使用路径匹配,只有路径匹配下的文件会被储藏,通常用于储藏部分文件push
选项可以被省略,以便快速保存,省略push
时,不能使用参数
- 将本地修改保存到新的储藏队列,用法与save基本一致,多了
-
pop | apply
语法git stash ( pop | apply ) [--index] [-q|--quiet] [<stash>]
,取出指定的队列,默认取出最新的队列,pop
与apply
的区别在于,pop
在取出队列后会删除stash中的队列,apply
则不会删除 -
drop
语法git stash drop [-q|--quiet] [<stash>]
,删除某个储藏队列,默认删除最新的储藏队列 -
clear
语法git stash clear
,删除所有储藏 -
branch
语法git stash branch <branchname> [<stash>]
,使用某个储藏队列建立分支,同时删除该队列
[<stash>]
指stash队列的名称,形式为stash@{id}