74444007_p0-1140x600.jpg
在开发一个项目的时候,一般不可能一直在写自己当前的任务,往往是当前任务写的正火热的时候,又来了新的紧急性任务,或者出现了bug需要处理,那出现这种情况的时候怎么弄呢,当前的任务还没做完,还不能发布,这时候我们总不能把刚写的代码删除了吧。哈哈!!!不用,我们只需要执行一个git stash的命令就可以把当前修改的内容保存起来,不再影响开发其他的功能。当我们开发完其他功能的时候,在切换会主线任务时,只需要执行下git stash pop就可以了。
git stash的存储结构时栈的结构,我们可以一直stash,出来的时候也是一样,一直pop就可以,每次pop就会出来一个stash。但是小编不建议大家放多个stash,因为时间久了你就分不清楚了,而且一般情况下,老的stash就没有意义了。
下面咱再说集个关于stash常用的方法吧。

  • git stash:保存当前工作进度,会把暂存区和工作区的改动stash(保存)起来。执行完这个命令后,在运行git status命令,就会发现当前是一个干净的工作区,没有任何改动。使用git stash save '注释'可以添加一些注释。
  • git stash list显示保存进度的列表,也就是你所有的stash。
  • git stash pop [–index] [stash_id]: git默认会把工作区和暂存区的改动都恢复到工作区,通过git stash pop命令恢复进度后,会删除当前进度。

    • git stash pop 把最近一次的stash恢复最新的进度到工作区。
    • git stash pop --index 恢复最新的进度到工作区和暂存区,尝试将原来暂存区的改动还恢复到暂存区。
    • git stash pop [stash_id] 恢复指定的进度到工作区。stash_id是通过git stash list命令得到的。例如:stash@{1}
  • git stash apply [–index] [stash_id]` 除了不删除恢复的进度之外,其余和git stash pop 命令一样。
  • git stash drop [stash_id]删除一个存储的进度。如果不指定stash_id,则默认删除最新的存储进度。
  • git stash clear 删除所有存储的进度,如果你忘记了存储进度上午内容,建议直接clear,但是一定要慎重。
Last modification:August 19, 2019
If you think my article is useful to you, please feel free to appreciate