应用场景:
当你在dev1上修改bug的时候,突然线上一个bug需要紧急修改,如果直接切换分支的华就会在别的分支上看到dev1上的修改,但是dev1上的bug还没写完不想提交,这时就可以先保存在stash。
因为所有分支都共用一个工作区,git stash 会将当前分支的修改储藏起来,当前工作区的修改会先被保存到栈中,也就是说当前工作区是干净的,此时就可以切换到其他分支上了。
常用的命令:
git stash : 将本地修改保存到stash上。
git statsh list : 查看所有的stash 的列表
git show stash@{0} : 查看当前详细的stash信息。
git stash pop : 弹出栈,此处为默认的最新的stash
git stash pop stash@{0} 或者 git stash apply stash@{0} : 指定弹出栈0
两者的区别:git stash pop stash@{id}命令会在执行后将对应的stash id 从stash list里删除,
而 git stash apply stash@{id} 命令则会继续保存stash id
git stash drop :删除最新的stash
git stash drop stash@{1} : 删除指定的stash1
git stash clear : 整个stash世界都清净了