git stash 的用法详解

8,833 阅读1分钟

在项目开发中,如果我们正在当前分支开发某个需求,突然遇到要切换分支去修改bug时,此时我们不想将当前的修改提交到远程分支,那么我们可以使用 git stash命令先存放起来。git stash 常用命令如下:

1)git stash save "备注信息" : 存放时添加备注便于查找;当然只执行git stash 也可以,系统会自动为我们添加备注,但不便于查找。 image.png

2)git stash list : 查看存放列表 image.png

3)git stash show : 显示改动信息,默认展示第一个存储,如果要显示其它存储,后面加stash@{index},比如第二个 git stash show stash@{1}

index: 代表存储的索引,从 0 开始

image.png

4)git stash show -p : 显示第一个存储的改动,如果想显示其它存储,git stash show stash@{index} -p ,比如第二个:git stash show  stash@{1} -p

5)git stash pop : 恢复之前存储的工作目录,将缓存堆栈中的对应stash删除,并将对应修改应用到当前的工作目录下,默认为第一个stash,即stash@{0},如果要应用并删除其他stash,命令:git stash pop stash@{$num} ,比如应用并删除第二个:git stash pop stash@{1}

image.png

6)git stash apply : 应用某个存储,但其不会从存储列表中删除,默认使用第一个存储,即stash@{0},如果要使用其他个,git stash apply stash@{index} , 比如第二个:git stash apply stash@{1} 

git stash popgit stash apply的区别:前者应用后会将其从存储列表中删除,而后者则不会

7)git stash drop stash@{index} : 丢弃stash@{index}存储,从列表中删除某个存储

8)git stash clear : 清除存储列表中的所有stash