Git stash 暂存你的更改(隐藏存储)
一、Git Stash 概述
在开发的时候经常会遇到切换分支时需要你存储当前的更改,如果你暂时不想应用当前更改也不想放弃更改,那么你可以使用 git stash先将其隐藏存储,这样代码就会变成未修改的状态,等解决其他问题后,在将其隐藏的存储显示,就可以继续之前的工作了。
Git stash
是一个非常有用的 Git 命令,它允许你临时保存你的工作目录中的更改,而不会提交这些更改到 Git 仓库中。这在你需要切换分支处理其他任务,但当前分支上的工作尚未完成时特别有用。
当你执行 git stash 命令时,Git 会创建一个新的提交对象,该对象记录了工作目录的当前状态,以及当时 HEAD提交的状态。这个提交对象不会被分配到任何分支上,但可以通过 git stash list 命令查看。
二、Git Stash 命令的使用
Git stash 提供了多种操作来管理你的暂存更改。以下是一些常用的 Git stash 命令:
-
保存当前工作目录和索引的状态,然后将它们回滚到 HEAD(隐藏存储)
git stash push
或者可以简写为git stash
-
你可以为 stash 提供一个带消息的存储,以便更容易地识别
git stash push -m "message"
-
列出所有的 stash 条目
git stash list
-
应用指定的 stash 条目到当前工作目录,但不从 stash 列表中删除它
git stash apply
-
应用最近的 stash 条目,并从 stash 列表中删除它
git stash pop
-
删除一个指定的 stash 条目
git stash drop
-
清除所有的 stash 条目
git stash clear
三、示例
比如我现在有两个分支:
两个分支当前处于不同步的状态。
现在我在master分支有了修改:
然后有突发情况,需要切换到dev分支解决Bug
当两个分支不同步时,在VSCode中带着更改切换分支会出现以上提示:
- 强制迁出:是放弃当前更改
- 迁移更改:将当前更改迁移到切换的分支
- 存储并迁出:就是使用git stash 隐藏存储当前的更改
但是我现在不想将其更改应用,也不想放弃我的更改,此时我需要使用git stash.
为了使用命令演示,这里不借用VScode提供的可视化操作,实际上,熟悉使用命令后操作会更加快。
隐藏存储
git stash push -m 'message'
如果不需要附带消息 可以直接使用git stash
隐藏后,已经看不到修改记录了,左侧更改的文件全部被隐藏。
现在就可以将分支自由切换了
查看隐藏的修改
git stash list
恢复隐藏存储
git stash pop
恢复上次存储,并删除该次隐藏存储
注意你可以在任何分支恢复,确保你当前在正确的分支‘
现在我切换到master分支,恢复我切换分支前的修改。
这里就恢复成功了,可以继续前面未完成的工作了。
四、注意事项
-
使用 stash 时,未跟踪的文件默认不会被保存。如果你想包含这些文件,可以使用 -u 或 --include-untracked 选项。
-
如果在应用 stash 时遇到冲突,stash 条目不会自动删除。你需要手动解决冲突并使用 git stash drop 来删除它。
-
如果你不小心删除了一个重要的 stash 条目,你可能需要使用一些高级 Git 命令来恢复它,例如 git fsck 和 git reflog。
-
当有多个stash 条目时,你可以通过git stash apply stash@{对应的条目},该命令应用后不会删除条目,如果你想应用后删除,可以使用git stash pop stash@{对应的条目}
Git stash 是一个强大的工具,可以帮助你管理工作目录中的更改,而不会影响 Git 仓库中的提交历史。正确使用 Git stash 可以使你的开发流程更加流畅和高效。
相关文章:

Git stash 暂存你的更改(隐藏存储)
一、Git Stash 概述 在开发的时候经常会遇到切换分支时需要你存储当前的更改,如果你暂时不想应用当前更改也不想放弃更改,那么你可以使用 git stash先将其隐藏存储,这样代码就会变成未修改的状态,等解决其他问题后,在…...
负载测试和压力测试的原理分别是什么
负载测试和压力测试是性能测试的两种主要类型,它们的原理和应用场景有所不同。 负载测试(Load Testing) 原理: 负载测试通过模拟实际用户行为,逐步增加系统负载,观察系统在不同负载下的表现。目的是评估系…...
shell脚本控制——定时运行作业
在使用脚本时,你也许希望脚本能在以后某个你无法亲临现场的时候运行。Linux系统提供了多个在预选时间运行脚本的方法:at命令、cron表以及anacron。每种方法都使用不同的技术来安排脚本的运行时间和频率。接下来将依次介绍这些方法。 1.使用at命令调度作…...

LeetCode 热题 100 回顾
目录 一、哈希部分 1.两数之和 (简单) 2.字母异位词分组 (中等) 3.最长连续序列 (中等) 二、双指针部分 4.移动零 (简单) 5.盛最多水的容器 (中等) 6…...
HTML5--网页前端编程(上)
HTML5–网页前端编程(上) 1.网页 (1)网站是根据一定的规则,使用html制作的相关的网页的集合。 网页是网站上的一页,通常是html格式的文件,他要通过浏览器来阅读。网页是网站的基本元素,由图片链接声音文字等元素造成,以.html或.htm后缀结尾的文件称为html文件。 (2…...

气体控制器联动风机,检测到环境出现异常时自动打开风机进行排风;
一、功能:检测到环境出现异常时自动打开风机进行排风; 二、设备: 1.气体控制器主机:温湿度,TVOC等探头的主机,可上报数据,探头监测到异常时,主机会监测到异常可联动风机或声光报警…...
示波器使用指南
耦合方式 在示波器中,耦合方式决定了信号源与示波器输入之间的信号传输方式。具体来说,直流耦合、交流耦合和接地耦合这三种方式有不同的工作原理和应用场景,下面是它们的差异: 1. 直流耦合(DC Coupling)…...

Post-trained猜想
强化 -- 输出Action 真实的避障 ActionCond 输入Action 生成视频 原来只是仿真 没有和整个的机器人系统结合 gym生成视频 不需要后处理 obersation...

javaEE-10.CSS入门
目录 一.什么是CSS 编辑二.语法规则: 三.使用方式 1.行内样式: 2.内部样式: 3.外部样式: 空格规范 : 四.CSS选择器类型 1.标签选择器 2.类选择器 3.ID选择器 4.通配符选择器 5.复合选择器 五.常用的CSS样式 1.color:设置字体颜色 2.font-size:设置字体大小 3…...

eclipse配置Spring
1、从eclipse下载Spring工具 进入 help – install new software… ,如下图: 点击 add ,按以下方式输入: Name : Spring Location : http://dist.springsource.com/release/TOOLS/update/e4.10/ 之后点击 add ,等待…...

爬虫技巧汇总
一、UA大列表 USER_AGENT_LIST 是一个包含多个用户代理字符串的列表,用于模拟不同浏览器和设备的请求。以下是一些常见的用户代理字符串: USER_AGENT_LIST [Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; Hot Lingo 2.0),Mozilla…...
基于UVM搭验证环境
基于UVM搭验证环境基本思路: 首先,我们搭建环境时一般都有一个目标的DUT。此时,我们可以结合所要验证的的模块、是否需要VIP、验证侧重点等在典型的UVM验证环境的基础上做适当调整后形成一个大体的环境架构。比如,需要一个ahb_vip…...

【JavaWeb10】服务器渲染技术 --- JSP
文章目录 🌍一. JSP❄️1.JSP介绍❄️2.JSP 运行原理❄️3.page 指令(常用的)❄️ 4.JSP 三种常用脚本1.声明脚本2.表达式脚本3.代码脚本 ❄️5.JSP 内置对象❄️6.JSP 域对象 🌍二. EL❄️1.EL 表达式介绍❄️2.EL 运算操作❄️3.EL 的 11 个隐含对象 &…...

【Hadoop】大数据权限管理工具Ranger2.1.0编译
目录 编辑一、下载 ranger源码并编译 二、报错信息 报错1 报错2 报错3 报错4 一、下载 ranger源码并编译 ranger官网 https://ranger.apache.org/download.html 由于Ranger不提供二进制安装包,故需要maven编译。安装其它依赖: yum install gcc …...

微软AI研究团队推出LLaVA-Rad:轻量级开源基础模型,助力先进临床放射学报告生成
每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…...

06排序 + 查找(D2_查找(D1_基础学习))
目录 温故而知新 -------------------------------- 讲解一:基础理论 一、什么是查找 二、为什么需要查找 -------------------------------- 讲解二:代码学习 一、顺序查找 1. 算法原理 2. 算法步骤 3. Java代码实现 4. 适用场景 5. 知识小…...
网站快速收录的秘诀:关键词布局与优化
本文转自:百万收录网 原文链接:https://www.baiwanshoulu.com/107.html 网站快速收录的秘诀中,关键词布局与优化是至关重要的环节。以下是一些关于关键词布局与优化的建议,旨在帮助网站快速被搜索引擎收录并提高排名:…...

AI大语言模型
一、AIGC和生成式AI的概念 1-1、AIGC Al Generated Content:AI生成内容 1-2、生成式AI:generative ai AIGC是生成式 AI 技术在内容创作领域的具体应用成果。 目前有许多知名的生成式 AI: 文本生成领域 OpenAI GPT 系列百度文心一言阿里通…...

03-DevOps-安装并初始化Gitlab
Gitlab可以理解为是自己搭建的GitHub,也就是自己的代码仓库。 开启macvlan 在192.168.1.10服务器上,构建Macvlan网络,这种网络模式可以为每个容器独立分配ip。 docker network create -d macvlan \--subnet192.168.1.0/24 \--ip-range192.16…...

Mac重复文件,一键查找并清理的工具
不知果粉们,你们有没有过这样的经历:在翻找重要文件时,突然发现一大堆“孪生兄弟”——Mac重复文件?别担心,你不是一个人!今天,我们就来聊聊“Mac重复文件”,以及如何用几招轻松搞…...
谷歌浏览器插件
项目中有时候会用到插件 sync-cookie-extension1.0.0:开发环境同步测试 cookie 至 localhost,便于本地请求服务携带 cookie 参考地址:https://juejin.cn/post/7139354571712757767 里面有源码下载下来,加在到扩展即可使用FeHelp…...

JavaSec-RCE
简介 RCE(Remote Code Execution),可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景:Groovy代码注入 Groovy是一种基于JVM的动态语言,语法简洁,支持闭包、动态类型和Java互操作性,…...

从WWDC看苹果产品发展的规律
WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...

HTML 列表、表格、表单
1 列表标签 作用:布局内容排列整齐的区域 列表分类:无序列表、有序列表、定义列表。 例如: 1.1 无序列表 标签:ul 嵌套 li,ul是无序列表,li是列表条目。 注意事项: ul 标签里面只能包裹 li…...
Python如何给视频添加音频和字幕
在Python中,给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加,包括必要的代码示例和详细解释。 环境准备 在开始之前,需要安装以下Python库:…...

IT供电系统绝缘监测及故障定位解决方案
随着新能源的快速发展,光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域,IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选,但在长期运行中,例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...
Pinocchio 库详解及其在足式机器人上的应用
Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库,专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性,并提供了一个通用的框架&…...

接口自动化测试:HttpRunner基础
相关文档 HttpRunner V3.x中文文档 HttpRunner 用户指南 使用HttpRunner 3.x实现接口自动化测试 HttpRunner介绍 HttpRunner 是一个开源的 API 测试工具,支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议,涵盖接口测试、性能测试、数字体验监测等测试类型…...
Webpack性能优化:构建速度与体积优化策略
一、构建速度优化 1、升级Webpack和Node.js 优化效果:Webpack 4比Webpack 3构建时间降低60%-98%。原因: V8引擎优化(for of替代forEach、Map/Set替代Object)。默认使用更快的md4哈希算法。AST直接从Loa…...

抽象类和接口(全)
一、抽象类 1.概念:如果⼀个类中没有包含⾜够的信息来描绘⼀个具体的对象,这样的类就是抽象类。 像是没有实际⼯作的⽅法,我们可以把它设计成⼀个抽象⽅法,包含抽象⽅法的类我们称为抽象类。 2.语法 在Java中,⼀个类如果被 abs…...