git stash 命令详解

news2024/11/28 14:30:04

1. 应用场景
2. 添加储藏
3. 查看储藏
4. 删除储藏
5. 使用储藏
6. 常见用法

1. 应用场景


git stash 命令用于将工作区中的更改和暂存区中的内容储存起来

日常开发中,会经常遇到这种场景

我们正在 dev 分支开发新功能,做到一半时,产品经理过来和我们反馈了一个紧急 bug,需要马上解决,但是做了一半的新功能又不想提交到版本库。这时可以使用 git stash push 先将当前进度保存起来,然后去修复 bug,修复完后使用 git stash apply 恢复之前保存的进度即可

场景1、需要切换到另一个分支(master)处理 bug

 
  1. git stash push -m '功能开发中'
  2. git checkout master

场景2、需要回到新功能编写前的状态,也就是 dev 分支的最新提交记录

 
  1. git stash push -m '功能开发中'

使用 git stash 的前提必须是版本库中已有提交记录,否则会出现下面提示

 
  1. $ git stash
  2. # 您还没有初始提交
  3. You do not have the initial commit yet

没有可以储存的内容(工作区中没有更改,暂存区中也没有内容)

 
  1. $ git stash
  2. # 没有要保存的本地更改
  3. No local changes to save

2. 添加储藏


添加储藏

 
  1. git stash

-m,--message 添加储藏和备注信息

 
  1. git stash push -m <message>

3. 查看储藏


查看所有储藏(所有分支共享储藏内容,而不是像提交记录每个分支都是独立的)

 
  1. git stash list

查看文件变动差异

 
  1. # 显示哪些文件变动了几行
  2. git stash show <stash>
  3. # 显示更加详细的变动信息,可以看到新增、减少了什么内容
  4. git stash show -p <stash>

4. 删除储藏


删除某个储藏

 
  1. git stash drop <stash>

清除所有储藏

 
  1. git stash clear

5. 使用储藏


应用储藏

 
  1. # 应用指定的储藏
  2. git stash apply <stash>
  3. # 应用并删除指定的储藏
  4. git stash pop <stash>

<stash> 指的是 git stash list 命令输出结果左侧的值,如下图所示

 
  1. # 错误:您对以下文件的本地更改将被“合并”覆盖
  2. error: Your local changes to the following files would be overwritten by merge:
  3. 1.txt
  4. # 请在合并前提交或隐藏更改
  5. Please commit your changes or stash them before you merge.

6. 常见用法


 
  1. # 添加存储
  2. git stash push -m <message>
  3. # 查看所有存储
  4. git stash list
  5. # 查看储藏文件差异
  6. git stash show -p <stash>
  7. # 应用储藏
  8. git stash apply <stash>
  9. # 应用并删除储藏
  10. git stash pop <stash>
  11. # 删除指定储藏
  12. git stash drop <stash>
  13. # 清空储藏
  14. git stash clear

 

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

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

相关文章

模块化、组件化和插件化

模块化&#xff1a;业务解耦、代码重用 组件化&#xff1a;模块化为基础、开发阶段每个moudle都是一个app &#xff0c;可以单独编译,并行开发 互不干扰&#xff0c;不用编译整个工程&#xff0c;打包的时候每个moudle又是moudle 不是app 只有一个app 插件化&#xff1a;也是…

【愚公系列】2022年12月 Elasticsearch数据库-ELK环境的搭建(一)

文章目录前言一、ELK环境的搭建1.前提条件2.启动Elasticsearch3.配置可视化工具 head-master3.配置kibana前言 ELK是三个开源软件的缩写&#xff0c;分别表示&#xff1a;Elasticsearch , Logstash, Kibana , 它们都是开源软件。新增了一个FileBeat&#xff0c;它是一个轻量级…

大学生可以在校搞搞副业吗?尝试做外卖跑腿项目有没有市场?

随着大学寒假的即将到来&#xff0c;40多天的假期&#xff0c;为什么大学生不利用这个机会去想明年的校园生活该如何度过&#xff0c;想要自己的校园生活过得精彩&#xff0c;就给自己找一个副业吧&#xff01; 副业&#xff01;这两个词应该是针对工作的&#xff0c;而不是针…

MapReduce 编程实例:词频统计

文章目录MapReduce 编程实例&#xff1a;词频统计一&#xff0c;准备数据文件&#xff08;1&#xff09;在虚拟机上创建文本文件&#xff08;2&#xff09;上传文件到HDFS指定目录二&#xff0c;使用IDEA创建Maven项目三&#xff0c;添加相关依赖四&#xff0c;创建日志属性文件…

【AI with ML】第 3 章 :超越基础知识:检测图像中的特征

&#x1f50e;大家好&#xff0c;我是Sonhhxg_柒&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流&#x1f50e; &#x1f4dd;个人主页&#xff0d;Sonhhxg_柒的博客_CSDN博客 &#x1f4c3; &#x1f381;欢迎各位→点赞…

树上操作【点分治】 - 原理 中心分解 【POJ No. 1741】 树上两点之间的路径数 Tree

树上操作【点分治】 - 原理 中心分解 分治法指将规模较大的问题分解为规模较小的子问题&#xff0c;解决各个子问题后合并得到原问题的答案。树上的分治算法分为点分治和边分治。 点分治经常用于带权树上的路径统计&#xff0c;本质上是一种带优化的暴力算法&#xff0c;并融…

【内网安全-基础】基础知识、信息收集、工具

目录 一、基础知识 1、内网&#xff1a; 2、工作组&#xff1a; 3、域(Domain)&#xff1a; 二、基础信息收集 1、判断是否在域内 2、机器角色判断 3、出网协议判断 4、端口判断 三、常规信息收集 1、常用命令 2、常用命令 3、工具&插件 LadonGO CS插件 Adfi…

基于Java(Spring+Struts+Hibernate 框架)实现(Web)学生课程管理系统【100010038】

课程管理系统设计文档 二、引言 2.1 目的 ​ 本文档详细描述了课程管理系统的设计&#xff0c;达到引导开发的作用&#xff0c;同时实现测试人员以及用户的沟通。 ​ 本文档面向开发人员&#xff0c;测试人员以及最终用户编写&#xff0c;是了解系统的导航。 2.2 范围 ​…

Win10系统电脑连接打印机的操作方法教学

Win10系统电脑连接打印机的操作方法教学分享&#xff0c;很多用户在办公的时候都会需要使用到打印机。用用户自己购买了打印机之后&#xff0c;不懂怎么去连接自己的电脑来进行使用的方法&#xff0c;接下来我们一起来看看Win10系统电脑连接打印机的操作方法分享吧。 Win10连接…

2022职场人状态和顺风出行感受调研报告

2022年即将过去&#xff0c;作为职场人的你会如何总结&#xff1f;职场同路人又有哪些想对彼此说的话&#xff1f;近日&#xff0c;嘀嗒出行发布《2022职场人状态和顺风出行感受调研报告》&#xff0c;基于近8000名嘀嗒顺风车车主和乘客分享各自职场经历和顺风出行感受&#xf…

运维人必须掌握的 5 种常用运维监控工具

运维监控工具千千万&#xff0c;仅开源的解决方案就有流量监控&#xff08;MRTG、Cacti、SmokePing、Graphite 等&#xff09;和性能告警&#xff08;Nagios、Zabbix、Zenoss Core、Ganglia、OpenTSDB等&#xff09;可供选择。 并且每种软件都有自己的特点和功能&#xff0c;各…

WiFi热点加装短信认证怎么操作?

公共场所提供无线wifi上网服务&#xff0c;需对用户进行实名认证。手机短信实名认证以其用户体验、综合成本等优势&#xff0c;成为公共wifi上网认证的首选方案。 无线wifi上网实现信认证功能&#xff0c;需要借助上网行为管理设备搭配验证短信平台使用&#xff1b;根据无线wi…

基于Java(Jsp+Sevlet)+MySql 实现的(Web)成绩管理系统【100010041】

1 概述 1.1 开发背景 随着学生数量的日渐增多&#xff0c;学生教务系统的数据量也不断增加&#xff0c;这无疑大大增加了教务系统的负担。如果能把负责学生成绩管理的模块独立出来形成一个独立的系统&#xff0c;便可以有效降低教务系统的数据量&#xff0c;不仅可以方便管理…

阿里巴巴Java开发手册(黄山版)

阿里巴巴 Java 开发手册&#xff08;黄山版&#xff09; 链接&#xff1a;https://pan.baidu.com/s/1iKsXlq1DSbePLvuysYbA4A 提取码&#xff1a;yyds 阿里巴巴将 Java 开发手册 从 1.7.0 的嵩山版更新至 1.7.1 的黄山版&#xff0c;新增 11 条新规约&#xff0c;具体变动如下…

[ Linux ] 线程控制(线程创建,等待,终止)

在上一篇我们了解了Linux下线程的相关概念。而本篇的主要内容是线程控制。线程控制包括线程的创建&#xff0c;线程的终止&#xff0c;线程等待等问题&#xff0c;以及线程分离和Linux常见线程安全问题。 目录 1.线程控制 1.1POSIX线程库 1.2 创建线程 1.2.1 创建线程编码…

新库上线 | CnOpenData劳务外包企业工商注册基本信息数据

劳务外包企业工商注册基本信息数据 一、数据简介 随着我国社会主义市场经济的发展&#xff0c;劳务市场中的用工方式也朝着多样化方向演变&#xff0c;劳务外包正是现代化人力资源管理和企业生产实际结合的一种独特的新模式。 在劳务外包过程中&#xff0c;企业将人事管理的部…

Node 文件查找优先级及 Require 方法文件查找策略

Node 文件查找优先级及 Require 方法文件查找策略 一、模块规范 NodeJS对CommonJS进行了支持和实现&#xff0c;让我们在开发node的过程中可以方便的进行模块化开发&#xff1a; 在Node中每一个js文件都是一个单独的模块模块中包括CommonJS规范的核心变量&#xff1a;export…

图数据库知识点2:图思维方式

在上一个知识点中&#xff0c;我们剖析了关系型数据库、数仓湖与图数据库的差异。在本文&#xff0c;我们会着重介绍一个重要的概念——图思维方式&#xff08;Graph-thinking&#xff09;。 关于思维方式 每个人应该如何思考&#xff0c;他/她是如何思考的&#xff0c;这是一…

朝代更替中的上下五千年

《近代中国社会的新陈代谢》 关于作者 陈旭麓是著名历史学家、华东师范大学的 建校元老之一。生前是中国史学会理事、 中国现代史学会副理事长、上海地方史志 研究会副会长。著有《初中本国史》《司马迁的历史观》《近代中国社会的新陈代谢》 《浮想录》等。 关于本书 这本…

Qt / Qml 中捕获(中文)输入法事件(按下 提交)

【写在前面】 最近工作中遇到一个奇怪的问题&#xff1a; 本来想在 TextEdit ( QTextEdit ) 中捕获一下键盘按键按下的事件。 然而&#xff0c;当输入法为英文时( 正常输入字符 )&#xff0c;可以捕获到按键事件&#xff0c;但当我切换到中文时&#xff0c;弹出输入法选框后&am…