实战理解git stash暂存代码

实战案例一

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
执行git stash后切换到master分支,结果:
添加的文件还在,添加的代码不见了
然后,重新切换到develop,执行git stash pop恢复工作现场,如下
在这里插入图片描述
代码回来了,添加的文件也还在
总结:stash 可以对添加的代码进行保存,新增加的文件还是会被携带到其他分支

实战案例二

在实验一的基础上,执行git add .,然后切换到master分支
在这里插入图片描述
新添加的代码和文件一并被带过来。
接下来,切换到develop,执行git stash,然后切换到master
在这里插入图片描述
新代码和新文件不见了。又然后,切换到develop,然后执行git stash pop,新代码和新文件重新出现
在这里插入图片描述
总结:只有执行了git add .和git stash才能对新代码和新文件进行工作现场保留

实战案例三

在这里插入图片描述
在develop上stash,然后切换到master上执行stash pop,新文件和新代码出现了
总结:工作现场的保留不是只保留在当前分支,而是保存在某个缓存区,然后你在哪个分支上进行stash pop就会恢复工作现场到哪个分支

实战案例四

在develop上stash,然后切换到master分支,在5.txt添加一些代码,然后执行git stash pop,5.txt的代码,6.txt的代码和新文件都出现了
在这里插入图片描述
总结:应证了实验三

实战案例五

撇开以上实验(实验五与上述实验无关)
在这里插入图片描述
在这里插入图片描述
然后执行git add .和 git stash,又回到初始状态
在这里插入图片描述
stash把新代码和新文件藏起来了,切换到master,新增文件和编辑1.txt,然后执行git reset --hard HEAD,1.txt新的内容不见了,但是新文件还在,然后执行stash pop,结果:develop上stash的代码和文件还有master上添加的文件都出现

总结:新文件不能reset掉,新代码可以,是不是很出乎意料,reset只能撤销有git add过的内容,也就是有添加到暂存去的内容

更多git实战知识请点击这里

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值