git stash

30 阅读2分钟

git stash

软件开发中,bug就像家常便饭一样。有了bug就需要修复,在Git中,由于分支是如此的强大,所以,每个bug都可以通过一个新的临时分支来修复,修复后,合并分支,然后将临时分支删除。

但是有的时候,你在feat功能分支开发需求到一半的时候,线上发现bug,这时候你就得再新建一个分支,优先处理,这时候如果不处理你功能分支修改的代码,它就会跟着你修改bug的代码一起提交上去,这显然是不行,丢弃修改?肯定也是不行的, 这时候就需要用到git stash

stash功能,可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作: 使用前stash前先使用git status查看一下工作区,必须先git add xxx 提交到暂存区一下,否则将无法储藏成功 6.png

stash存储

git stash save "xxx"    // xxx 代表描述信息

7.jpg 这时候就可以放心的切换分支去修改bug了

bug修改完成后,需要切换会功能分支,继续开发未完成的需求,这时候就需要读取之前存储的需求开发代码

stash读取存储代码

git stash apply 0   // 这个0其实就是你要读取第几条的意思

// 或者
git stash pop   // 但是这种只能读取到第一天,但是它会删除stash内容

8.jpg

删除stash内容

  • 如果使用 git stash apply xxx,可以指定读取哪一条 则需要再输入git stash drop去删除stash的内容,每次只会删除一条
  • 如果使用 git stash pop ,只能读取第一条,但是可以自动删除stash的内容