简体中文 ▾ Topics ▾ Latest version ▾ git-stash last updated in 2.55.0

名称

git-stash - 贮藏脏工作区中的更改

概述

git stash list [<log-options>]
git stash show [-u | --include-untracked | --only-untracked] [<diff-options>] [<stash>]
git stash drop [-q | --quiet] [<stash>]
git stash pop [--index] [-q | --quiet] [<stash>]
git stash apply [--index] [-q | --quiet] [--label-ours=<label>] [--label-theirs=<label>] [--label-base=<label>] [<stash>]
git stash branch <branchname> [<stash>]
git stash [push] [-p | --patch] [-S | --staged] [-k | --[no-]keep-index] [-q | --quiet]
	     [-u | --include-untracked] [-a | --all] [(-m | --message) <message>]
	     [--pathspec-from-file=<file> [--pathspec-file-nul]]
	     [--] [<pathspec>…​]
git stash save [-p | --patch] [-S | --staged] [-k | --[no-]keep-index] [-q | --quiet]
           [-u | --include-untracked] [-a | --all] [<message>]
git stash clear
git stash create [<message>]
git stash store [(-m | --message) <message>] [-q | --quiet] <commit>
git stash export (--print | --to-ref <ref>) [<stash>…​]
git stash import <commit>

描述

当你想记录工作区和索引的当前状态,但又想回到一个干净的工作区时,请使用 git stash。 该命令将你的本地修改保存起来,并将工作区还原为与 HEAD 提交相匹配。

这个命令所存储的修改可以用 git stash list 列出,用 git stash show 检查,用 git stash apply 恢复(可能是在不同的提交之上)。 在没有任何参数的情况下调用 git stash 等同于 git stash push。 默认情况下,贮藏库被列为 "WIP on branchname …​",但你可以在创建贮藏库时在命令行中给出更多描述性信息。

你最近创建的贮藏库被保存在 refs/stash 中;旧的贮藏库可以在这个引用的引用日志中找到,并且可以使用通常的引用日志语法来命名(例如,stash@{0} 是最近创建的贮藏库,stash@{1} 是它之前的贮藏库,stash@{2.hours.ago} 也是可以的)。也可以通过指定贮藏库的索引来引用贮藏库(例如,整数 n 等同于 stash@{n})。

命令