Git Stash 贮藏命令

一、前言

在使用Git过程中,有时当你在项目的其它分支正在进行开发,并且该分支还尚未开发完成进行提交,这个时候需要你切换分支进行工作,这个时候做到一半的工作既不想全部丢掉又不想到处都是问题的就commit,十分冲突。解决问题的方法就是 git stash 命令
贮藏(stash)会处理工作目录的脏的状态——即跟踪文件的修改与暂存的改动——然后将未完成的修改保存到一
个栈上, 而你可以在任何时候重新应用这些改动(甚至在不同的分支上)。
如果你的文件是新建文件且没有被跟踪,这个时候stash 命令是不会生效的。

二、git stash命令演示

1、现有分支如下,stashtest分支为目前正在开发的分支,test分支为我们需要切换的分支。
在这里插入图片描述
2、修改test.txt 文件内容,在文件中添加内容作为我们正在开发的功能,此功能未开发完成,这个时候需要切换到test分支进行修改可以使用如下命令进行贮藏(stash)

git  stash save “贮藏的信息”

在这里插入图片描述在这里插入图片描述
3、当我们的工作区没有改动以后就可以放心的切换到其它分支进行开发,当开发完成后在切换回stashtest分支,将贮藏的内容从栈中弹出,继续未完成的工作内容。命令:

git stash pop stash@{序号}

在这里插入图片描述
4、查看贮藏列表,贮藏与分支无关,可以将在僧ashtest分支上的贮藏在test分支弹出,命令:

git stash list

在这里插入图片描述
5、在stashtest分支添加一个新文件stash.txt,如果不执行git add . 将新增文件添加追踪的话,git stash 是无法对其生效的
在这里插入图片描述
6、追踪将新增加的文件,并将其贮藏
在这里插入图片描述
7、查看stash 中的改动,如果不指定序号,默认为第一次贮藏的改动内容。命令:

git stash show stash@{序号}  -p

在这里插入图片描述
8、当我们不想弹出贮藏List中最近一次的改动时,可以按序号弹出贮藏,命令:

git stash pop stash@{序号}

在这里插入图片描述
9、通过 git stash pop 命令我们可以看到当弹出序号为1的贮藏以后,贮藏列表中同时已经删除了对应的贮藏,如果有需要的话,可以使用 git stash apply 命令当弹出变更,但是贮藏列表中不删除弹出的该贮藏变更,命令:

git  stash apply stash@{序号}

在这里插入图片描述
10、当我们不想要某个贮藏,可以使用删除命令,命令:

git stash drop stash@{需要}

在这里插入图片描述
11、清空贮藏列表,命令:

git stash clear

在这里插入图片描述

三、git stash命令总结

(1)git stash save “贮藏的信息”     存贮被追踪的改动
(2)git stash list    显示贮藏列表
(3)git stash show stash@{序号}  -p  显示某个贮藏的变动
(4)git stash pop stash@{序号}   弹出某个贮藏,并在贮藏列表中删除该贮藏
(5)git stash apply stash@{序号}  弹出某个贮藏,但不在贮藏列表中删除
(6)git stash drop stash@{需要}   删除贮藏
(7)git stash clear  清空所有贮藏

本文首发于香菜喵,打开微信随时随地读,文章下方 ↓ ↓ ↓

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喵喵@香菜

感谢观众老爷送的一发火箭!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值