命令简介
当我们在某个分支开发一半的时候,突然想切换到其他分支,但是又不想把进行一半的工作状态进行提交。又想后续回到这个状态。
这个时候就是使用git stash命令的时候。
“暂存“可以获取你工作目录的中间状态——也就是你修改过的被追踪的文件和暂存的变更——并将它保存到一个未完结变更的堆栈中,随时可以重新应用。
存储当前修改。
假设你现在的工作分支是这个样子。
1 | $ git status |
想切换分支,但是你还不想提交你正在进行中的工作;所以你要把这些变化先暂存起来。以后后续继续使用。
运行 git stash
1 | $ git stash |
工作空间变得干净了,我们可以随意的切到任何一个分支。
1 | $ git status |
查看stash.
1 | git stash list |
重新应用stash.
你可以重新应用刚刚的暂存,所用命令为 git stash apply
如果你想应用更早的暂存,你可以通过名字指定,像这样:git stash apply stash@{1}。如果不指明,Git 默认使用最近的储藏并尝试应用它:
1 | git stash apply |
删除stash
重新应用stash之后,stash仍然在栈上,如果想删除响应的stash可以执行
1 | git stash drop stash@{0} |
也可以运行
1 | git stash pop |
来重新应用暂存,同时立刻将其从堆栈中移走。
以上是日常开发中常用的git stash 指令。