应用场景:
1.当在某个分支正在开发时,此时项目中出现了bug,需要现在修复,但是并不想在在正在开发的分支上提交我们修改的内容,此时需要用git stash命令将修改的内容保存到堆栈区,当项目中的bug解决后,我们再切换到该分支上,从堆栈区 恢复我们修改的内容。
2.我们本应该在分支1上进行开发,但是之后发现我们却在分支2上进行了开发了一段时间,需要重新切换到分支1上进行开发,可以用git stash将修改的内容保存到堆栈中,然后切换到分支1上,将堆栈中修改的内容,将其在分支1上恢复。
git stash
将所有未提交的修改(工作区和暂存区)保存至堆栈中,用于后续恢复当前工作目录。
git stash list
查看当前stash中的内容
git stash pop
将当前stash中的内容弹出,并应用到当前分支对应的工作目录上。
注:该命令将堆栈中最近保存的内容删除(栈是先进后出)
git stash apply
将堆栈中的内容应用到当前目录,不同于git stash pop,该命令不会将内容从堆栈中删除,也就说该命令能够将堆栈的内容多次应用到工作目录中,适应于多个分支的情况。
举例(对于场景2):
QQ截图20190805211539.png