“ 我真的不想在吃火锅的时候,突然拿出电脑来改bug ——编程三分钟”
第 4 篇
暂存代码
当我们在好好的写一个新功能时,线上临时十万火急的bug,正在吃火锅的你在这个时候必须放下手中夹起的肥牛,打开电脑修复bug
git历史文章:
Git概念、安装与配置
Git 单人操作与基本使用
合并冲突
暂存代码保护现场
这种情况一般是出现在你正在完成一个功能,但是忽然线上发现了一个Bug,必须马上开一个新的分支来修复bug,但是现在的功能没写完不打算提交(commit),现在怎么办??
不用怕!暂存代码来帮助你。请看下图内容
status
查看到有2个文件修改没有提交
git stash命令可以把现在的工作区全部的修改,包括新文件,修改、删除等所有的操作,全部保存起来,恢复现场,把修改放到暂存区并用上一次的commit信息来命名这次储存(用一个别名来条记录,这里记作 stash@{0},方便使用)
git stash list列出暂存区所有记录,如果有多次暂存就会有多条记录,可以看到此时有一条记录
我们可以看到,现在的工作区多么的清爽
为了凸显,暂存代码的主题,我们省略掉一些操作:
- 创建一个bug分支
- 修复现有bug
- 修复完成后提交到主线
- 切回来当前分支继续开发
下面来恢复现场
git stash apply重新把暂存区内容放到本地
有的朋友问我为什么要用命令行,用可视化页面不可以吗?
还真的是可以的,但是命令行最好的作用就是像一本指导书一样,就像上面的图片,输入一个命令下面会自动给出各种提示,非常方便
而且懂命令行还可以保证操作不会因为可视化工具的翻译问题而误操作
一些高级操作像不小心把代码删掉了,只会可视化页面基本只能哭了
清理缓存
上一节的git stash apply
成功的把暂存区的一次暂存恢复到了本地,但是暂存区还有会保存这次暂存,如果想删除这次暂存要用git stash drop
来删除;也可以用git stash pop
,恢复最后一次暂存的同时把stash内容也删了。
好了,暂存区清干净了。
注意:要放到暂存区的文件一定要先通过git add加到index
小结
本次的三分钟就到这里啦,这一节我们学会了以下命令
git stash 暂存我们的工作区现场
git stash list列出暂存区所有记录,如果有多次暂存就会有多条记录
git stash apply stash@{0}把暂存区的记录恢复到本地
git stash drop stash@{0}精准删除暂存记录或者git stash pop恢复的同步删除最后一条暂存记录
PS: 谢谢朋友们的建议,要对得起编程三分钟这个名字,真正的只用三分钟就可以读完一个知识点(理解可能要花一点时间),充分利用起大家的碎片化时间,我会努力的,谢谢你们我的朋友们!