git stash

此文简单总结 git stash 里最常见的几种命令,并推荐几篇很棒的教程。
git stash
能让你很方便的在想要切换分支的时候暂存目前的更改,而不必提交。这有助于优化你的 git history。一般多人协同的时候,这会很有用。如果你刚接触 git ,可以先用熟 commit 那些命令。
我在这里推荐几篇很棒的教程,尤其是第一篇里有一个简单易懂的案例能帮助你理解这个命令的作用。
- A practical guide to using the git stash command | Opensource.com
- git stash - Saving Changes | Atlassian Git Tutorial
暂存你的提交
这个命令会把你距离上次 commit 以来的更改暂存起来,这样,你的工作区又可以回到干净的状态(有时候真想给人生也上一个 git 检查点
1 | git stash |
这个可以用多次,每次都会创建一个“版本快照” 。为了防止你搞不清每次是干嘛的,你可以用这个命令加一个小说明
1 | git stash save "description here" |
一些其他的可选项:
git stash -u
或git stash --include-untracked
存储未跟踪文件。git stash -a
或git stash --all
存储未跟踪文件和忽略的文件。
列出暂存区
1 | git stash list |
假设你存过两次,那这会获得类似这样的输出:
1 | $ git stash list |
应用暂存更改
不加标识符的话就应用最近的一次,也就是 stash@{0}
。你可以加标识符选择要用哪一次,我这里就用 stash@{1}
。
1 | # 应用,并且从存储中移除 |
清理暂存区
当你不再需要暂存区里的玩意时,可以这样清除,这会清除所有条目。
1 | git stash clear |
或者用这个,只清除特定的某次。
1 | git stash drop <stash_id> |
检查暂存差异
这个就是看看你上一次 commit 之后到使用 git stash
之间的这段时间都改了啥
1 | git stash show <stash_id> |
- 标题: git stash
- 作者: 三葉Leaves
- 创建于 : 2025-04-17 00:00:00
- 更新于 : 2025-04-25 00:07:45
- 链接: https://blog.oksanye.com/fa123fae28e0/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论