git stash:保存本地修改及恢复

概要

开发时遇到的问题:一个新的功能开发到一半,常常会因为要解决一个bug而需要暂停目前开发的功能,因为git log每次最好提交一次的修改,因此,使用git stash将目前已经开发了部分的内容保存在堆栈中,随后保持一个干净的工作区非常重要。

架构分析

// TODO

适用情景

项目开发到一半时的git status:
在这里插入图片描述
需要保存当前开发的内容 git stash save “[chg]:修改awbm到一半。”:
在这里插入图片描述
git stash list查看缓冲区的内容;git stats查看工作区文件和上次git pull相比做了什么修改:
在这里插入图片描述
得到结论:git stash指令执行Git会将当前未提交的工作区和暂存区的修改打包成一个记录,并清空相应的工作区和暂存区,让你可以先切换到其他分支或者进行其他操作,而不必提交当前的修改。每个stash记录都有一个唯一的标识符,可以用于在之后的操作中引用该stash记录。
在这里插入图片描述
恢复缓冲区的数据:git stash apply -n(对应的标识符号)。如果恢复的文件与当前未提交的修改没有冲突,则可以直接恢复,否则需要通过处理文件中内容解决问题。 此时工作区与缓冲区已经恢复。
在这里插入图片描述
在这里插入图片描述

扩展的指令

命令名命令解释
git stash隐藏当前的工作现场至缓冲区, 此时, git status的结果是 clean
git stash list查看所有隐藏的缓冲区, 每一行的冒号前面的字符串就是标识此隐藏的id
git stash apply重新显示标识为 id 的隐藏
git stash dropgit apply恢复隐藏后, 需要手动删除 list 列表中的记录
git stash pop恢复最新的进度到工作区。与git stash apply类似。对应的区别:这条指令在恢复的同时,会将对应的缓存在stash列表删除
git stash pop stash@[stash_id]恢复指定的进度到工作区

小结

git stash 命令的常用的一些总结,以及什么情况下需要使用这条命令。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值