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}