Skip to content

git-stash

将脏工作目录中的更改暂存起来。

概要

bash
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 恢复。

您创建的最新暂存存储在 refs/stash 中;较旧的暂存在此引用的 reflog 中找到。

命令

  • push:将本地修改保存到新的"暂存条目"并将其回滚到 HEAD
  • save:此选项已弃用,推荐使用 git stash push
  • list:列出您当前拥有的暂存条目。
  • show:显示暂存条目中的更改。
  • pop:从暂存列表中移除单个暂存状态并将其应用到当前工作树。
  • apply:像 pop 一样,但不从暂存列表中删除暂存状态。
  • branch:从暂存条目创建新分支。
  • clear:删除所有暂存条目。
  • create:创建一个暂存条目并返回其对象名称。
  • store:在给定提交消息的情况下将暂存条目存储在 reflog 中。
  • export:将暂存条目导出为补丁。
  • import:从补丁导入暂存条目。

选项

  • -p, --patch:交互式选择暂存的更改。
  • -S, --staged:仅暂存暂存的更改。
  • -k, --keep-index:在暂存后保留索引条目。
  • --no-keep-index:不保留索引条目。
  • -q, --quiet:安静模式。
  • -u, --include-untracked:包含未跟踪的文件。
  • -a, --all:包含所有文件。
  • -m, --message:指定暂存消息。
  • --pathspec-from-file=<file>:在文件中传递路径规范。
  • --pathspec-file-nul:仅与 --pathspec-from-file 一起使用。

Git

git 套件的一部分

基于 CC BY-NC-SA 3.0 许可发布