1、为什么要用到git stash命令
当我们多分支开发时,当你在分支A开发某个功能,这时候生产出问题,需要你check out一份新的分支B来修改该bug。而你分支A的功能开发到一半,这时候A分支的已修改代码怎么办?
- 方案一:提交已经修改的分支A的代码,但是这份修改代码并不完整,想当一次无效的提交;
- 方案二:直接切换到分支B,这时候分支A的代码:(1)如果选择smart checkout,会把A分支上的修改内容带到B分支;(2)如果选择force checkout,则会把A分支上的所有修改删除掉,相当于白写了。(这两种都不是我们想要的效果)
- 方案三:使用git stash命令:把分支A的修改暂存起来,切换到分支B修改bug,完成后再切回到分支A,再使用git stash pop取出暂存,完美保留分支A修改的代码。
2、git stash的一些相关命令
git stash //暂存本地修改的代码
git stash show //查看刚才暂存的修改
git stash pop //取出修改
git stash save <message> //给 stash 存储的修改起个名字
git stash list //查看暂存区的所有暂存修改记录
git stash pop //取出最近一次暂存并删除记录列表中对应记录
git stash apply stash@{X} //取出相应的暂存
git stash drop stash@{X} //将记录列表中取出的对应暂存记录删除