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>...]]
[--] [<pathspec>...]
可选参数[--] [<pathspec>...]
使用路径匹配,只有路径匹配下的文件会被储藏,通常用于储藏部分文件push
选项可以被省略,以便快速保存,省略push
时,不能使用参数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}