Debug-010-git stash的用法及使用场景

问题原因:

        其实也不是最近,就是之前就碰到过这个问题,那就是我正在新分支开发新功能,开发程度还没有到可以commit的程度,我不想提交(因为有些功能没有完全实现,而且没有自测的话很容易有问题,提交了之后看修改过的代码也不方便,而不提交又不能切换分支。),这时候生产环境有紧急问题需要改bug,那我要怎么在不提交代码的情况下切换分支去修改bug呢?(我以前的做法就是直接在新功能的分支上提交一下代码,然后再切到有bug的分支上,其实这样也没啥,就是对自己要求高了之后,感觉不应该在提交记录中存在一次这样的记录)因此git stash应运而生,就可以解决这个情况。

介绍:

git stash :

它会保存当前工作进度,会把暂存区和工作区的改动保存到一个未完结变更的堆栈中;

执行完这个命令后,再运行 git status命令,就会发现当前是一个干净的工作区,没有任何改动。

备注:git stash并不会把代码提交到远程仓库,如果需要添加备注说明可以用下面这个:

git stash save '备注'

相关命令:

//查看所有隐藏, 每一行的冒号前面的字符串就是标识此隐藏的idgit stash list	// 重新显示标识为 id 的隐藏(list中不会删掉记录)git stash apply	 + id//git apply恢复隐藏后, 需要手动删除 list 列表中的记录git stash drop + id//恢复最新的进度到工作区 (list中会删掉恢复id的那一条记录)git stash pop	//恢复指定的进度到工作区git stash pop + id

一般使用经验:

(1)一般的话其实只会有一条记录即可,但是还是应该先用git stash list看一下stash的记录

避免出错。例如有以下四条记录:

如果想回到3版本,就使用:

git stash apply 3

这时候其他版本不想要了,就删掉即可,3版本恢复之后也可以把list中的3也删除掉。

git stash drop 0
git stash drop 1
git stash drop 2

(2)所以一般的流程就是:先git stash一下,然后git branch 查看分支,再然后git checkout去切换分支,然后改bug,完了提交。最后切换来新功能分支,在使用git stash list 先查看,接着git stash apply (+id)(或者git stash pop(+id))去恢复代码即可。

(3)注意git stash apply和git stash pop的区别(这个看个人习惯,其实我们项目中放在stash 里面估计也就一条记录,所以恢复完直接删掉也行

(4)补充一下:如果list中的记录比较多,可以使用git stash clear一键全清除,但是要谨慎哦。

总结:

        现在可以去test一下,敲一遍就明白区别了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/840907.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ICML 2024 时空数据(Spatial-Temporal)论文总结

2024ICML(International Conference on Machine Learning,国际机器学习会议)在2024年7月21日-27日在奥地利维也纳举行 (好像ICLR24现在正在维也纳开)。 本文总结了ICML 24有关时空数据(Spatial-temporal) 的相关论文…

Golang并发编程-协程goroutine任务取消(Context)

文章目录 前言一、单个任务的取消二、 所有任务取消三、Context的出现Context的定义Context使用 总结 前言 在实际的业务种,我们可能会有这么一种场景:需要我们主动的通知某一个goroutine结束。比如我们开启一个后台goroutine一直做事情,比如…

【小程序八股文】系列之篇章二 | 小程序的核心机制

【小程序八股文】系列之篇章二 | 小程序的核心机制 前言三、微信小程序原理与运行机制简述一下微信小程序的原理微信小程序的双线程的理解为什么不采用浏览器多线程模式?为什么是双线程?(出发点:安全,快速,…

Express 的 req 和 res 对象

新建 learn-express文件夹,执行命令行 npm init -y npm install express 新建 index.js const express require(express); const app express();app.get(/, (req, res, next) > {res.json(return get) })app.post(/, (req, res, next) > {res.json(retur…

论文精读-SRFormer Permuted Self-Attention for Single Image Super-Resolution

论文精读-SRFormer: Permuted Self-Attention for Single Image Super-Resolution SRFormer:用于单图像超分辨率的排列自注意 Params:853K,MACs:236G 优点: 1、参考SwinIR的RSTB提出了新的网络块结构PAB(排列自注意力…

sky walking日志采集以及注意事项

文章目录 1,sky walking日志采集功能概述2,采集log4j2日志3,采集logback日志4,效果展示5,注意事项 1,sky walking日志采集功能概述 在介绍Sky walking日志采集功能之前,最好在系统学习一遍日志…

【医学AI|顶刊精析|05-25】哈佛医学院·告别切片局限:3D病理如何革新癌症预后

小罗碎碎念 先打个预防针,我写这篇推文用了两个多小时,这就意味着要读懂这篇文章不太容易,我已经做好反复阅读的准备了。不过,风险之下,亦是机会,读懂的人少,这个赛道就越值得押宝。 在正式阅…

【C语言】8.C语言操作符详解(3)

文章目录 10.操作符的属性:优先级、结合性10.1 优先级10.2 结合性 11.表达式求值11.1 整型提升11.2 算术转换11.3 问题表达式解析11.3.1 表达式111.3.2 表达式211.3.3 表达式311.3.4 表达式411.3.5 表达式5: 11.4 总结 10.操作符的属性:优先级、结合性 …

基于Keras的手写数字识别(附源码)

目录 引言 为什么要创建虚拟环境,好处在哪里? 源码 我修改的部分 调用本地数据 修改第二层卷积层 引言 本文是博主为了记录一个好的开源代码而写,下面是代码出处!强烈建议收藏!【深度学习实战—1】&#xff1a…

【spring】@ControllerAdvice注解学习

ControllerAdvice介绍 ControllerAdvice 是 Spring 框架提供的一个注解,用于定义一个全局的异常处理类或者说是控制器增强类(controller advice class)。这个特性特别适用于那些你想应用于整个应用程序中多个控制器的共有行为,比…

ctfhub中的SSRF的相关例题(下)

目录 URL Bypass 知识点 相关例题 数字IP Bypass 相关例题 方法一:使用数字IP 方法二:转16进制 方法三:用localhost代替 方法四:特殊地址 302跳转 Bypass ​编辑 关于localhost原理: DNS重绑定 Bypass 知识点&…

ant design pro 6.0搭建教程

一、搭建 环境: Node.js 18.16.1 ant design pro 6.0 注意:选择umi3时,使用node.js 18版本的会报错,可以实践一下,这里就不再进行实践了。 umi3需要版本是低于node.js 18的 node下载地址: https://nodejs.…

可重构柔性装配产线,为智能制造领域带来了新的革命性变革

随着科技的飞速发展,个性化需求逐渐成为市场的主导。在这个充满变革的时代,制造业正面临着前所未有的挑战和机遇。如何快速响应市场需求、提高生产效率、保证产品质量,成为每一家制造企业必须思考的问题。 在这样的背景下,富唯智…

免费插件集-illustrator插件-Ai插件-文本对象和文本段落互转

文章目录 1.介绍2.安装3.通过窗口>扩展>知了插件4.功能解释5.总结 1.介绍 本文介绍一款免费插件,加强illustrator使用人员工作效率,进行文本对象和文本段落互转。首先从下载网址下载这款插件 https://download.csdn.net/download/m0_67316550/878…

00.OpenLayers快速开始

00OpenLayers快速开始 官方文档: 快速开始:https://openlayers.org/doc/quickstart.html 需要node环境 一、设置新项目 npm create ol-app my-app cd my-app npm start第一个命令将创建一个名为 my-app​ 的目录(如果您愿意,…

Java——简易图书管理系统

本文使用 Java 实现一个简易图书管理系统 一、思路 简易图书管理系统说白了其实就是 用户 与 图书 这两个对象之间的交互 书的属性有 书名 作者 类型 价格 借阅状态 而用户可以分为 普通用户 管理员 使用数组将书统一管理起来 用户对这个数组进行操作 普通用户可以进…

有趣的css - 圆形背景动效多选框

大家好,我是 Just,这里是「设计师工作日常」,今天分享的是用 css 实现一个圆形背景动效多选框,适用提醒用户勾选场景,突出多选框选项,可以有效增加用户识别度。 最新文章通过公众号「设计师工作日常」发布…

VBA批量合并带有图片、表格与文本框的Word

本文介绍基于VBA语言,对大量含有图片、文本框与表格的Word文档加以批量自动合并,并在每一次合并时添加分页符的方法。 在我们之前的文章基于Python中docx与docxcompose批量合并多个Word文档文件并逐一添加分页符(https://blog.csdn.net/zhebu…

helloworld 可执行程序得到的过程

// -E 预处理 开发过程中可以确定某个宏 // -c 把预处理 编译 汇编 都做了,但是不链接 // -o 指定输出文件 // -I 指定头文件目录 // -L 指定链接库文件目录 // -l 指定链接哪一个库文件 #include <stdio.h> #include <stdlib.h> #include <string.h>int mai…

【微积分】CH16 integrals and vector fields听课笔记

【托马斯微积分学习日记】13.1-线积分_哔哩哔哩_bilibili 概述 16.1line integrals of scalar functions [中英双语]可视化多元微积分 - 线积分介绍_哔哩哔哩_bilibili 16.2vector fields and line integrals&#xff1a; work circulation and flux 向量场差不多也是描述某种…