【Git Bash】项目开发过程中需要知道 git stash 的用法

目录

  • 1. git stash的应用场景
  • 2. 常用git stash命令
    • 2.1 git stash
    • 2.2 git stash save "message"
    • 2.3 git stash list
    • 2.4 git stash show
    • 2.5 git stash show -p
    • 2.6 git stash apply
    • 2.7 git stash pop
    • 2.8 git stash drop stash@{num}
    • 2.9 git stash clear
  • 3. stash只会保存已存在文件的内容

1. git stash的应用场景

当你正在开发当前项目,并且修改了许多代码,突然这时项目中出现一个bug,需要紧急修复,但是正在开发的内容只是完成一半,还不想提交,这时可以用 git stash 命令将修改的内容保存至堆栈区,然后进行bug修复,修复完成后,使用 git stash apply 命令从堆栈中恢复刚刚保存的内容。

2. 常用git stash命令

2.1 git stash

将所有未提交的修改(工作区和暂存区)保存至堆栈中,用于后续恢复当前工作目录

2.2 git stash save “message”

保存时,添加备注信息,方便查找
在这里插入图片描述

2.3 git stash list

显示之前stash过的所有列表
在这里插入图片描述

2.4 git stash show

显示哪些文件被修改;默认show第一个stash,等价于git stash show stash@{0};如果想要看之前stash的哪些文件被修改,可以使用命令git stash show stash@{num},num是git stash list中显示的数字,例如显示第二个stash中哪些文件做了改变: git stash show stash@{1}
在这里插入图片描述

2.5 git stash show -p

显示文件中具体代码的改动;默认show第一个stash,等价于git stash show stash@{0} -p;如果想要看其他stash的改动,可以使用命令git stash show stash@{num} -p,例如第二个:git stash show stash@{1} -p
在这里插入图片描述

2.6 git stash apply

将stash保存的内容应用到当前目录,但不会把stash从存储列表中删除(在stash list中会一直存在),默认使用第一个保存,即stash@{0};如果要还原其他的stash,可以使用命令git stash apply stash@{num}, 比如第二个:git stash apply stash@{1}
在这里插入图片描述

2.7 git stash pop

将stash保存的内容应用到当前目录,恢复之前缓存的工作目录,会将缓存堆栈中的对应stash删除(即在stash list中删除此stash),默认为第一个stash,即stash@{0};如果要应用并删除其他stash,可以使用命令:git stash pop stash@{num} ,比如应用并删除第二个:git stash pop stash@{1}

git stash apply 和 git stash pop的区别:
共同点:都会应用stash,恢复之前暂存的代码
不同点:apply之后其git stash list中之前的stash记录会一直存在,不会删除;pop之后其git stash list中之前的stash会被删除(pop的意思很简单,就是先弹出,再应用)

2.8 git stash drop stash@{num}

从列表中删除这个stash(num是git stash list中的数字)
在这里插入图片描述

2.9 git stash clear

删除所有缓存的stash(即删除git stash list中的列表的所有内容)

3. stash只会保存已存在文件的内容

如果在项目中你新添加了.h或.cpp或其他文件,当你 git stash 的时候,新添加的文件并不会保存,此时你需要先执行 git add . ,然后再去执行 git stash

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

简单记录一下软著申请流程

模板我就不放了,网上很多,随便下几个结合就行了 总体来说,我是2023.2.19号寄出,2023.4.6看到成功了,总共50天左右。 大家确实不需要网上买那种服务,我也是第一次申请,感觉还是挺简单的。只要按…

洛谷B2038奇偶ASCII值判断

洛谷B2038 题目描述 任意输入一个字符,判断其 ASCII 是否是奇数,若是,输出 YES,否则,输出 NO 。 例如,字符 A 的 ASCII 值是 65,则输出 YES,若输入字符 B(ASCII 值是 66)&#xff0…

从零开始学习Kotlin,带你快速掌握该编程语言

前言 Kotlin是一种跨平台的静态编程语言,它可以在JVM、Android、浏览器、iOS等多个平台上运行。Kotlin的语法简洁易懂,具有高度的可读性和可维护性,同时还具有Java所不具备的许多优点。 Kotlin是一种静态类型、面向对象、函数式编程语言&am…

iOS 项目嵌入Flutter 运行

一 创建Flutter 模块命令行flutter create --template module my_flutter创建完成后,该模块和普通的Flutter项目一直,可以通过Android Studio或VSCode打开、开发、运行;和之前项目不同的iOS和Android项目是一个隐藏文件,并且我们…

多模态 |COGMEN: COntextualized GNN based Multimodal Emotion recognitioN论文详解

论文:COGMEN: COntextualized GNN based Multimodal Emotion recognitioN COGMEN: 基于GNN的多模态情感识别技术 论文实现可参考另外一篇论文: 本文主要分为俩部分,一是对论文的简单概括,二是对论文的翻译。 论文总结 论文翻译…

【学习笔记】SpringAOP的用法全解

文章目录Spring的AOP一、 Spring对AOP的实现包括以下3种方式**什么是AspectJ?**二、使用Spring的AOP1、准备工作2、尝试写一个简单的AOP demo3、代码如下:spring.xml业务类切面类测试类4、复习切面表达式1)所有方法2)指定路径下某个包及其子…

开心档之C++ 运算符

目录 C 运算符 算术运算符 实例 实例 关系运算符 实例 实例 逻辑运算符 实例 实例 位运算符 实例 实例 赋值运算符 实例 实例 杂项运算符 C 中的运算符优先级 实例 实例 运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。C 内置了丰富的运算符&…

算法设计-二分

一、有序和单调 ​ 二分本质上是一种更加智能的搜索状态空间的方式,他需要状态空间的状态呈现一种“有序的一维数组”的形式,然后再进行搜索。所以一开始的排序是无法避免的。 ​ 因为二分的写法问题,所以应当怎样排序也是有一定讲究的&…

黑马程序员 linux 学习笔记入门部分合集

ubuntu 安装 本课程使用 ubuntu 系统。 ubuntu 官网 - download。 上面会显示有两个版本,每年 ubuntu 发布两个版本,LTS 是长期维护版,所以相对会较稳定。 介绍 Linux 发行版本 不管什么版本,内核都是一样的。 RPM based&a…

“遥感+”蓝碳储量估算、红树林信息提取与论文写作

详情点击链接:“遥感”蓝碳储量估算、红树林信息提取与论文 一,光谱遥感数据及预处理 .1高光谱遥感数据 高光谱分辨率遥感是用很窄而连续的光谱通道对地物持续遥感成像的技术。在可见光到短波红外波段其光谱分辨率高达纳米数量级。高光谱图像数据…

Linux-Vim

一、Vim 配置 ​ vim界面打开以后很丑就不提了,关键有很多基本功能没有办法实现,所以需要自己配置,如果是linux系统,那么应该找到 /usr/share/vim/.vimrc​ 如果是windows装完git以后会自动一个vim,此时应该找到 Gi…

电子招标采购系统—企业战略布局下的采购寻源

​ 智慧寻源 多策略、多场景寻源,多种看板让寻源过程全程可监控,根据不同采购场景,采取不同寻源策略, 实现采购寻源线上化管控;同时支持公域和私域寻源。 询价比价 全程线上询比价,信息公开透明&#xff…

vue + table原生实现表格单元列列宽可重置

const tableMixin {data() {return {dragState: {}, // 记录子表的列宽移动的一些数值dragging: false // 子表是否在重置列宽}},methods: {handleMouseMove(event) {let target event.targetwhile (target && target.tagName ! TH) {target target.parentNode}if (…

算法竞赛ICPC、CCPC、NIO、蓝桥杯、天梯赛

算法竞赛前言一、为什么学习算法竞赛二、学习算法的阶段三、算法竞赛具体学习内容1、基础数据结构1.1、链表1.1.1、动态链表1.1.2、静态链表1.1.3、STL list1.2、队列1.2.1、STL queue1.2.2、手写循环队列1.2.3、双端队列和单调队列1.2.4、优先队列1.3、栈1.3.1、STL stack1.3.…

23 - x的平方根,快速幂,超级次方

文章目录1. x的平方根2. 快速幂3. 超级次方1. x的平方根 二分查找 class Solution { public:int mySqrt(int x) {int left 1, right x;while(left < right){int mid left (right - left) / 2;if(mid > x / mid){right mid - 1;}else if(mid < x / mid){left mi…

OpenShift 4 - Red Hat 是如何对容器镜像的安全风险进行评估分级的

《OpenShift / RHEL / DevSecOps 汇总目录》 文章目录RedHat 对 CVE 的风险级别的评级通用漏洞评分系统 CVSS红帽严重性分级RedHat 对容器镜像的整体风险的分级云原生应用的运行载体是容器镜像&#xff0c;因此容器镜像的安全便是云原生应用安全的关键因素。为此&#xff0c;Re…

联合解决方案|亚信科技AntDB携手蓝凌软件,助推企业数字化办公转型升级

随着企业数字化转型的深入&#xff0c;企业对于协同办公、移动门户、数字运营、智能客服等方面的需求越来越高&#xff0c;数智化正成为催生新动能和新优势的关键力量。数字化的办公平台可以帮助企业实现各类信息、流程的集中化、数字化和智能化管理&#xff0c;为企业管理者提…

老板,你的绩效管理该升级了!

中小企业的绩效考核&#xff0c;一直是一个备受关注的话题。虽然传统的绩效考核理论已经非常成熟&#xff0c;但是在实际应用中&#xff0c;我们往往会遇到各种各样的问题。因此&#xff0c;在选择绩效考核工具和方法时&#xff0c;我们应该注重实用性&#xff0c;不断探索新的…

32位单片机MM32G0140免费申请样品及开发板

灵动微MM32G系列MCU搭载ArmCortex-M0或安谋科技“星辰”STAR-MC1处理器&#xff0c;率先推出的产品支持64KB到128KB Flash存储范围&#xff0c;提供从20脚到64脚封装选项&#xff0c;适用于广泛的智能工业与电机&#xff0c;物联网&#xff0c;智能家居和消费类等应用。其中&am…

比亚迪车载Android开发岗三面经历~

前言 首先&#xff0c;我想说一下我为什么会想去比亚迪这样的车企做车载Android开发。我是一名有5年经验的Android开发工程师&#xff0c;之前一直在互联网软件公司工作&#xff0c;做过移动端App和IoT产品的开发。但我一直对汽车领域很感兴趣&#xff0c;也希望自己的技术能应…