工作干了一半,领导又给了急活,手头的代码还没法提交怎么办?git一个stash吧!

零、小序

工作中有时候会遇到这样的情况:手头的工作刚干了一半,领导突然布置了新的紧急任务,需要切换分支,而现在的代码又不想提交或者不能提交,这个时候该怎么办?有办法!git 一个stash帮你轻松搞定!来看看今天的主角吧-git stash。

一、git stash家族

1、git stash

git stash可以将所有未提交的修改保存至堆场的存储中,用于后续恢复到当前工作目录,这些修改包括工作区的和暂存区的修改,堆场的保存遵守先进后出原则,像数据结构中的栈一样,后面会有演示。

2、git stash save “message”

git stash save "message"的作用和git stash一样,主要区别是这个命令可以加一些注释信息,方便后续的查找和识别。

3、git stash list

git stash list用于查看当前堆场中有哪些内容。

4、git stash show

git stash show用于显示做了哪些改动,默认显示第一个堆场的存储,当需要显示其他堆场的存贮时,后面需要加上stash@{num},如git stash show stash@{1}表示显示第二个堆场存储。

5、git stash pop

git stash pop用于恢复之前缓存的工作目录,将缓存堆场中对应的stash删除,并将对应修改应用到当前的工作目录下,默认为第一个堆场是stash@{0},当需要应用并删除其他堆场存储时,后面需要加上stash@{num},如git stash pop stash@{1}表示删除第二个堆场存储。

6、git stash apply

git stash apply应用某个堆场存储,和git stash pop命令类似,但不会把stash从堆场存储列表中删除,默认使用第一个存储stash@{0},当需要应用其他堆场存储时,后面需要加上stash@{num},如git stash apply stash@{1} 表示应用第二个。

7、git stash drop

git stash drop丢弃某个堆场存储,并从堆场存储列表中删除,默认使用第一个存储stash@{0},当需要丢弃其他堆场存储时,后面需要加上stash@{num},如git stash drop stash@{1} 表示丢弃第二个。

8、git stash clear

git stash clear用于删除所有缓存的stash堆场。

二、命令使用示例

1、修改文件

使用vim命令修改文件test.txt,linux下的很多文件操作命令在git下同样可以使用。
在这里插入图片描述

2、使用git stash保存堆场

保存后修改的文件红色消失,打开文件看一下会看到是没有修改前的内容。
在这里插入图片描述

3、使用git stash list显示堆场

在这里插入图片描述

4、使用git stash show显示做的改动

在这里插入图片描述

5、使用git stash pop恢复之前缓存

在这里插入图片描述

6、使用git stash apply应用某个堆场存储

在这里插入图片描述
注意下面的图中保存了两次堆场。
在这里插入图片描述
从下面使用git stash list可以看到堆场的存储顺序是先进后出的,和栈的性质一样的,并且可以看出使用命令git stash apply stash@{0}应用堆场后,堆场也没有删除掉。
在这里插入图片描述

7、使用git stash drop丢弃堆场

在这里插入图片描述

8、使用git stash clear清空堆场

在这里插入图片描述

9、你可能需要的git知识

https://blog.csdn.net/toby54king/category_9509929.html

能力有限,如有问题,多多指教,原创不易,点个赞吧!

发布了157 篇原创文章 · 获赞 135 · 访问量 15万+

猜你喜欢

转载自blog.csdn.net/toby54king/article/details/105258830
今日推荐