最简单的git图解(git stash)

news2024/11/16 5:36:59

大家平时开发过程中肯定遇到过这样的情况:代码写了一半,但是需要紧急修改一个bug,还是在当前项目中修改,这时怎么办呢?把写了一半的代码进行提交?可能编译还通不过,或是启动不了,要是直接提交了,就会对该项目其他开发人员产生影响。就算编译、启动都没问题,写了一半的代码也不是一个完整的、有具体意义的提交。那怎么办呢?这就引出了我们今天要了解的一个命令了:git stash。

使用场景及方式

简单来说,git stash命令的作用就是将暂存区里面的东西进行暂存。额,好像有点绕。首先必须了解什么是“暂存区”。我们的代码仓库实际上分为三个区:工作目录、暂存区、git仓库。其中工作目录中放的就是实际的文件,暂存区放的索引,git仓库里面放的是目录树(可以理解为分支链):

如上图所示,所有git add之后但还没有git commit的文件会被放入到暂存区,暂存区里面的文件才会被git跟踪到,如果新建的一个文件,这个文件没有被git add,那么git是跟踪不到这个新建的文件的。 而git stash 就是把当前暂存区内的所有文件移动到一个单独的“缓存区”里面去,这个“缓存区”是一个栈结构:

 这样做之后,我们的暂存区就空出来了,此时,我们就可以去修复紧急bug,等bug修复完提交之后,再返回头来将我们“缓存区”里面的内容git unstash出来,继续开发:

 这就是git stash的主要使用场景以及使用方式了。接下来我们详细看一看,这git stash这个命令的详细使用规则。

命令详解

使用 git stash save "xxx"  可以将当前暂存区里面的文件移动到缓存区里面去,可以写一些缓存说明用来标识,因为一个缓存区里面可以有多个缓存。

使用 git stash list 可以查看缓存区里面的所有缓存。

使用 git stash pop 可以将缓存区(栈结构)中最上面的一条缓存pop出来(也就是移出来,缓存区里面的这个缓存会被删除),并应用到暂存区。

使用 git stash pop "xxx" 可以将缓存区里面指定的某条缓存pop出来。

使用 git stash apply 会将缓存区(栈结构)中最上面的一条缓存应用到暂存区,注意此时不会将缓存区里面的这个缓存删除,

使用 git stash apply "xxx" 会将缓存区里面指定的某条缓存应用到暂存区。

使用 git stash drop "xxx" 可以将某条缓存进行删除。

使用 git stash clear 会将整个缓存区进行清空。

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

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

相关文章

Java项目:SSH学生学籍管理系统及教务管理系统

作者主页:源码空间站2022 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 本系统包含管理员、教师、学生三种角色; 管理员角色包含以下功能: 管理员登录,学科管理,班级管理,教师管理,学籍信息管理,课表管理…

外贸软件助力国际贸易企业业财共享数字化转型升级

外贸企业数字化转型新机遇丨汇信外贸软件助力业财一体共享升级 随着国际化的进程不断加速,国际贸易市场的发展,使得外贸企业的业务范围不断扩大,海量的资源信息在世界各地不断产生。为了应对国际贸易信息传递的及时性,关于财务信…

[MySQL]复杂查询(进阶)

专栏简介 :MySql数据库从入门到进阶. 题目来源:leetcode,牛客,剑指offer. 创作目标:记录学习MySql学习历程 希望在提升自己的同时,帮助他人,,与大家一起共同进步,互相成长. 学历代表过去,能力代表现在,学习能力代表未来! 目录 1.新增 2. 聚合查询 2.1 聚合函数 3. 分组查询…

Web UI 自动化测试:如何使用隐私模式进行测试

来啦老铁! 这两天有个任务需要在桌面端 UI 自动化中使用隐私模式进行测试,之前没有用过,且在调研的时候还是小小花了点时间各种查资料的,因此做一下记录; 学习路径 1、Chrome 浏览器配置; 2、Edge 浏览…

电脑换cpu要重装系统吗

​cpu是一台电脑的控制以及运算核心,有十分重要的作用,不少小伙伴会遇到更换cpu的问题,所以小伙伴会提前了解换cpu要重装系统吗或者换cpu后bios如何设置的这类问题,接下来小编就为大家带来了详细的介绍,感兴趣的用户可…

(七)Bean的实例化方式

文章目录环境Bean的实例化方式通过构造方法实例化通过简单工厂模式实例化通过工厂方法模式实例化通过FactoryBean接口实例化BeanFactory和FactoryBean的区别BeanFactoryFactoryBean工厂Bean的使用:注入自定义Date上一篇:(六)Sprin…

【免杀前置课——Windows编程】十二、线程同步——一文讲懂什么是线程同步、原子操作函数、临界区、互斥体(激发态与非激发态区别)

线程同步线程同步多线程运行同一操作对象问题解决方案A:原子操作函数解决方案B:临界区解决方案C:互斥体激发态与非激发态互斥体优点:线程同步 多线程运行同一操作对象问题 #include<iostream> #include<Windows.h>LONG g_count 0; DWORD WINAPI myThreadProc1(_…

C语言工具——Visual Studio 的安装

很多新手朋友们&#xff0c;反应使用 IE 浏览器下载 Visual Studio 下载不下来&#xff0c;此时我们可以在 IE 浏览器上先装一个谷歌浏览器&#xff1a; https://chrom.lkcyl.cn/ . 然后打开谷歌&#xff0c;输入 VS 2019 的下载地址&#xff1a;https://learn.microsoft.com/…

深入浅出带你了解PHAR反序列化

前情提要 为了丰富自己是知识体系&#xff08;为了日更薅羊毛&#xff09;&#xff0c;我最近频繁翻阅MDN的文档&#xff0c;果然MDN文档常看常新。 最近翻到CSS部分&#xff0c;然后打开了伪类这一栏&#xff0c;好家伙&#xff0c;快60个了&#xff08;包括实验中的&#x…

【EC200U】 SIM卡使用

EC200U SIM卡SIM卡是什么SIM卡分类Quecpython SIM库调用获取sim卡的状态获取IMSI获取ICCID运行测试我们物联网要用到SIM卡&#xff0c;这张卡是4G应用的基础&#xff0c;许多功能都需要用到SIM卡。买此类板子别忘了买SIM卡哦。 SIM卡是什么 SIM卡是(Subscriber Identity Modul…

影刀连接Mysql数据库

这里写自定义目录标题官方教程下载安装Mysql-connector配置数据源填写影刀的配置的向导官方教程 官方影刀下载mysql连接教程 https://www.winrobot360.com/yddoc/language/zh-cn/%E6%8C%87%E4%BB%A4%E6%96%87%E6%A1%A3/%E5%85%B6%E4%BB%96/%E6%95%B0%E6%8D%AE%E5%BA%93/%E8%BF…

初步探索GraalVM--云原生时代JVM黑科技

1 云原生时代Java语言的困境 经过多年的演进&#xff0c;Java语言的功能和性能都在不断的发展和提高&#xff0c;诸如即时编译器、垃圾回收器等系统都能体现Java语言的优秀&#xff0c;但是想要享受这些功能带来的提升都需要一段时间的运行来达到最佳性能&#xff0c;总的来说…

linux笔记(5):按照东山派的官方教程编译buildroot(东山哪吒,D1-H)踩坑记录

文章目录1.编译流程1.1获取sdk源码1.2 补充&#xff1a;下载riscv64-glibc-gcc-thead_20200702.tar.xz1.3 补充&#xff1a;安装mtool工具1.4 安装必要依赖包1.5 编译sdcard 最小系统镜像1.6 烧录最小镜像系统到tf(SD)卡1.6.1 安装烧录工具1.6.2 格式化SD卡1.6.3 烧录镜像到sd卡…

杂篇(一)

开篇词 我本是红尘一俗客&#xff0c;没有那文人酸腐气。 曾几何时&#xff0c;梳理收藏夹&#xff0c;发现了很久前收藏的一位前端大佬的个人博客&#xff1a;怡红院落 &#xff0c;因为领域不同&#xff0c;之前一直没有拜读过他的文章。 我尚且无法判断怡红公子购买的域名…

【Log日志】springboot项目中集成Log日志详解

springboot项目中集成Log日志详解一、Log日志介绍1.Log 日志组件主要作用及用途2.日志的级别Level级别控制3.日志的输出Import3.1 快速使用3.2 日志文件输出3.3 自定义配置4. Spring Boot 日志组件 Log Plugin二、Spring Boot Logback1.依赖配置 Pom.xml2.使用 YML 配置 logbac…

Linux操作系统~系统文件IO,什么是文件描述符fd?什么是vfs虚拟文件系统

目录 1.open() &#xff08;1&#xff09;.第二个参数flags—通过比特位传多组标记 2.文件描述符fd&#xff08;open函数的返回值&#xff09; &#xff08;1&#xff09;.fd的本质 &#xff08;2&#xff09;.vfs-虚拟文件系统&#xff08;一切皆文件&#xff09; &…

MySQL Binlog 简介

MySQL Binlog Binlog 记录了所有的 DDL 和 DML(除了数据查询语句)语句&#xff0c;以事件形式记录&#xff0c;还包含语句所执行的消耗的时间&#xff0c;MySQL 的二进制日志是事务安全型的。 一般来说开启二进制日志大概会有 1%的性能损耗。 二进制日志包括两类文件&#xf…

seccon 2022 quals -simplemod

文章目录题外话调试思路如何找到对应的link_map分析do_lookup_x我的构造payloadall_exp总结题外话 这个题应该是seccon解题数量最少的了 这个题目其实和babyfile差不多&#xff0c;都是考虑0 lick,整体而言通过这两个题可以感受到出题者对于IO以及dl_resolv的理解深入 这个题目…

阻止移动端 touchmove 与 scroll 事件冲突

在移动端开发过程中&#xff0c;如果要实现一个元素或按钮的拖动定位&#xff0c;会出现很多坑。例如&#xff1a;元素上下移动过程中&#xff0c;会触发 body 的 scroll 事件&#xff0c;导致整体的位置偏移&#xff0c;这时就需要 阻止移动端 touchmove 与 scroll 事件冲突 。…

confluent-kafka-go依赖库编译体验优化

文章目录问题描述&#xff1a;解决方案1&#xff1a;编写Dockerfile文件2&#xff1a;运行Docker镜像3&#xff1a;进入镜像进行编译4&#xff1a;将编译成功的二进制文件复制到本机参考地址问题描述&#xff1a; ​ 在项目中使用了go的kafka库confluent-kafka-go&#xff0c;…