Skip to content

git stash

注意

git stash 命令仅会暂存跟踪文件中的更改,而不会暂存未跟踪的文件。如果要暂存未跟踪的文件,需要使用 git add 命令将它们添加到暂存区中,或使用 -u 参数。

简介

git stash 命令用于暂存当前工作目录中的更改,以便稍后恢复。它通常用于在切换分支或合并其他分支时保存未完成的工作,以免因此丢失更改。暂存的更改将被保存在 Git 的堆栈中,称为“stash 堆栈”。

常见用法

  • 暂存当前更改git stash,将所有未提交的更改暂存到一个新的 stash 记录中,并将工作目录恢复为上一次提交的状态,选项 -S 只暂存 staged,-u 包含未追踪的文件。
  • 暂存当前更改并添加消息git stash -m "message",将所有未提交的更改暂存到一个新的 stash 记录中,并添加一个自定义的消息。
  • 查看 stash 列表git stash list,列出所有已保存的 stash 记录。
  • 恢复最新的 stashgit stash apply [n],将最新的 stash 应用到当前分支,但不会删除该 stash 记录,其中 n 是 stash 记录的编号,默认是 0。
  • 删除 stashgit stash drop [n],删除最新的 stash 记录。
  • 应用并删除 stashgit stash pop [n],将最新的 stash 应用到当前分支,并从 stash 堆栈中删除该记录。