git stash 这个东西,使用git进行代码管理的人应该都知道并且用过吧。它呢,就是会将你在当前分支是那个修改的记录缓存起来,放在缓存区里面。
模拟具体的使用场景:

  1. 我现在处于feature-zhang这个分支上,我在这个分支上修改了很多东西但是又没有一个独立的模块,所以我并不想对它进行commit。
  2. 但是此时我的另外一个分支feature-wang,需要和后台的同学联调一下。这时我就不得不切换到我的feature-wang的分支上面去。
  3. 在切换之前呢,我就需要使用git stash命令行将我的修改都现暂存起来。这时候git 就会将我当前分支的修改保存在缓存区域。
  4. stash list 就可以查看到暂存的记录了。
    此时我就可以安心的切换到feature-wang这个分支上了,当我和后台同学联调的过程中,我又修改了一些内容,但是此时我还是不想commit的,那么我还是使用git stash 去将我的操作缓存起来。此时的缓存中就拥有了两条缓记录。
  5. 当我在切换回feature-zhang这个分支上的时候,我直接使用git stash pop命令行将我的缓存pop出来。
  6. 但是,注意了!!这个时候就会出现问题,你发现你pop出来的缓存并不是你在这个分支上的操作。你这个分支上会出现其他分支修改的内容。
    那么这是为什么呢?
    在吃过一个这个亏后,我才明白,git stash缓存的时候,它会将你的记录的存在一个栈里,那么栈的特点就是先进后出,所以你此时pop出来的其实是在feature-wang上的修改记录。那么要怎样才能将我想要的pop出来呢。我们使用git stash list查看缓存记录会发现每一条缓存前面都有一个缓存的序号,我们只需要git stash pop + 对应的序列号就ok了!这里写图片描述
Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐