背景

在开发的过程中,常常会遇到,几个分支并行进行。
当在A分支开发,忽然发现有个线上bug,须要长期切换到B分支进行解决,同时,A分支上的代码还未编写残缺,不想提交下来。

这个时候, git stash 的益处就提现进去了。

介绍

stash会解决工作目录的脏的状态——即跟踪文件的批改与暂存的改变——而后将未实现的批改保留到一个栈上, 而你能够在任何时候从新利用这些改变(甚至在不同的分支上)。

先用 git status 查看下那些文件产生了变动

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

能够给以后stash减少message,不便后续查看

此时 git status 发现以后分支变得跟没有改变时一样洁净

git stash list 查看以后栈中有多少暂存记录

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

取暂存中的某一份 git stash apply stash@{1}

popapply都能够复原暂存,然而,apply执行后,暂存记录还存在。pop则会从栈中移除。

更多操作,能够参考git的官网文档