git 暂存

背景
在开发的过程中,经常会遇到,几个分支并行进行。
当在A分支开发,突然发现有个线上bug,需要临时切换到B分支进行处理,同时,A分支上的代码还未编写完整,不想提交上去。
【git 暂存】这个时候, git stash 的好处就提现出来了。
介绍
stash会处理工作目录的脏的状态——即跟踪文件的修改与暂存的改动——然后将未完成的修改保存到一个栈上, 而你可以在任何时候重新应用这些改动(甚至在不同的分支上)。
先用 git status 查看下那些文件发生了变化
git 暂存
文章图片

执行git stash 把所有改动都暂存起来
此时的git stash等同于git stash push
git 暂存
文章图片

可以给当前stash增加message,方便后续查看
git 暂存
文章图片

此时 git status 发现当前分支变得跟没有改动时一样干净
git 暂存
文章图片

git stash list 查看当前栈中有多少暂存记录
git 暂存
文章图片

如果要回复栈的最新一个暂存,可以git stash pop
取暂存中的某一份 git stash apply stash@{1}
git 暂存
文章图片

popapply都可以恢复暂存,但是,apply执行后,暂存记录还存在。pop则会从栈中移除。
更多操作,可以参考git的官方文档

    推荐阅读