暂存代码 - 每天三分钟玩转Git(四)

简介: 暂存代码 - 每天三分钟玩转Git(四)

“ 我真的不想在吃火锅的时候,突然拿出电脑来改bug ——编程三分钟”


3bf2b331cafb44c6c0e32a0b36531fea.jpg第 4 篇

暂存代码


当我们在好好的写一个新功能时,线上临时十万火急的bug,正在吃火锅的你在这个时候必须放下手中夹起的肥牛,打开电脑修复bug


git历史文章:


Git概念、安装与配置


Git 单人操作与基本使用


合并冲突


暂存代码保护现场


这种情况一般是出现在你正在完成一个功能,但是忽然线上发现了一个Bug,必须马上开一个新的分支来修复bug,但是现在的功能没写完不打算提交(commit),现在怎么办??


不用怕!暂存代码来帮助你。请看下图内容

cb1e393e57f8b312a677dd1e20338352.jpg


status查看到有2个文件修改没有提交


680636a45da7346603edf06c1ffc1aca.jpg



git stash命令可以把现在的工作区全部的修改,包括新文件,修改、删除等所有的操作,全部保存起来,恢复现场,把修改放到暂存区并用上一次的commit信息来命名这次储存(用一个别名来条记录,这里记作 stash@{0},方便使用)


git stash list列出暂存区所有记录,如果有多次暂存就会有多条记录,可以看到此时有一条记录

7396fffa7ead1647f9d2c42db5565d27.jpg

我们可以看到,现在的工作区多么的清爽

为了凸显,暂存代码的主题,我们省略掉一些操作:

  1. 创建一个bug分支
  2. 修复现有bug
  3. 修复完成后提交到主线
  4. 切回来当前分支继续开发

下面来恢复现场


7595e23260a49d967e8b5c7916e57854.jpg

git stash apply重新把暂存区内容放到本地


有的朋友问我为什么要用命令行,用可视化页面不可以吗?


还真的是可以的,但是命令行最好的作用就是像一本指导书一样,就像上面的图片,输入一个命令下面会自动给出各种提示,非常方便


而且懂命令行还可以保证操作不会因为可视化工具的翻译问题而误操作


一些高级操作像不小心把代码删掉了,只会可视化页面基本只能哭了


清理缓存


上一节的git stash apply成功的把暂存区的一次暂存恢复到了本地,但是暂存区还有会保存这次暂存,如果想删除这次暂存要用git stash drop来删除;也可以用git stash pop,恢复最后一次暂存的同时把stash内容也删了。

43cc90b7cb233668780afc5bc3b7e099.jpg

好了,暂存区清干净了。


  注意:要放到暂存区的文件一定要先通过git add加到index


小结


本次的三分钟就到这里啦,这一节我们学会了以下命令


git stash 暂存我们的工作区现场


git stash list列出暂存区所有记录,如果有多次暂存就会有多条记录


git stash apply stash@{0}把暂存区的记录恢复到本地


git stash drop stash@{0}精准删除暂存记录或者git stash pop恢复的同步删除最后一条暂存记录


PS: 谢谢朋友们的建议,要对得起编程三分钟这个名字,真正的只用三分钟就可以读完一个知识点(理解可能要花一点时间),充分利用起大家的碎片化时间,我会努力的,谢谢你们我的朋友们!

相关文章
|
23天前
|
缓存 开发工具 git
windows系统通过git上传代码
windows系统通过git上传代码
18 1
|
15天前
|
开发工具 git 开发者
【git merge/rebase】详解合并代码、解决冲突
【git merge/rebase】详解合并代码、解决冲突
38 0
|
1天前
|
开发工具 git
git代码回退
git代码回退
12 5
|
1天前
|
Shell 网络安全 开发工具
git实现服务器自动push拉取代码--webhooks
git实现服务器自动push拉取代码--webhooks
12 1
|
24天前
|
Shell 开发工具 git
git拉去代码报错"Failed to connect to 127.0.0.1 port 31181: Connection refused"
在克隆`https://example.git/`时遇到错误:"fatal: unable to access 'https://example.git/': Failed to connect to 127.0.0.1 port 31181: Connection refused"。原因是Windows上代理设置未正确关闭,影响了Git配置。解决方法是通过git bash运行命令检查并取消代理:`git config --global http.proxy`和`git config --global --unset http.proxy`。
35 1
 git拉去代码报错"Failed to connect to 127.0.0.1 port 31181: Connection refused"
|
9天前
|
Shell 测试技术 网络安全
【GIT】如何在GitHub上向一个开源项目贡献代码?
【GIT】如何在GitHub上向一个开源项目贡献代码?
26 5
|
14天前
|
存储 开发工具 git
蓝易云 - git中,add到暂存区,commit且push之后,暂存区域里还有内容吗
所以,当你执行 `git add`,然后是 `git commit`,最后是 `git push`之后,暂存区是空的,除非你又执行了新的 `git add`命令来添加更多的更改。
17 1
|
1天前
|
Shell 开发工具 git
如何使用git上传代码github仓库
如何使用git上传代码github仓库
|
15天前
|
敏捷开发 测试技术 持续交付
【git分支管理策略】如何高效的管理好代码版本
【git分支管理策略】如何高效的管理好代码版本
32 0
|
24天前
|
测试技术 持续交付 API
Git 代码提交注释管理规范
Git 代码提交注释管理规范
21 0