git stash 和 git stash pop

812 阅读1分钟

一、git stash 和 git stash pop有什么作用?

  • git stash: 将工作区的代码暂时缓存到堆栈中;
  • git stash pop: 将缓存到堆栈中的代码取出来,到工作区中。

二、什么时候用git stash 和 git stash pop?

想象一个场景,在开发a需求的时候,突然要处理一个b需求的bug(或者要上线c需求),此时a需求刚开发到50%,又不确定自己修改的代码是否正确,不想把a需求(执行git commit -m)提交到本地仓库。此时可以在a需求中执行git stash将本地代码暂时缓存到暂存区中,然后切到b需求的分支去处理bug(或者切到c需求的分支去发版c需求),待处理好之后,又切到a需求的分支上,执行git stash pop把暂存区的代码取到工作区中,继续开发a需求。

三、为什么要执行git stash 和 git stash pop?

当遇到上面的场景时,假如不执行git stashgit stash pop,a需求是切不到其他需求的分支上的,会出现

image.png