背景

在开发的过程中,经常会遇到,几个分支并行进行。
当在A分支开发,突然发现有个线上bug,需要临时切换到B分支进行处理,同时,A分支上的代码还未编写完整,不想提交上去。

这个时候, git stash 的好处就提现出来了。

介绍

stash会处理工作目录的脏的状态——即跟踪文件的修改与暂存的改动——然后将未完成的修改保存到一个栈上, 而你可以在任何时候重新应用这些改动(甚至在不同的分支上)。

先用 git status 查看下那些文件发生了变化
image.png

执行git stash 把所有改动都暂存起来
此时的git stash等同于git stash push
image.png

可以给当前stash增加message,方便后续查看
image.png

此时 git status 发现当前分支变得跟没有改动时一样干净
image.png

git stash list 查看当前栈中有多少暂存记录
image.png

如果要回复栈的最新一个暂存,可以git stash pop

取暂存中的某一份 git stash apply stash@{1}
image.png
popapply都可以恢复暂存,但是,apply执行后,暂存记录还存在。pop则会从栈中移除。

更多操作,可以参考git的官方文档


southnan0
156 声望8 粉丝

欲买桂花同载酒,终不似,少年游