Git Stash的使用和进阶

git stash 是Git中一个非常实用的命令,它能帮助你暂时存储工作目录和索引(也就是暂存区)中的改动,从而让你可以轻松地切换到一个干净的工作状态,而不会丢失当前的进度。下面是关于git stash的一些基本用法和相关命令:

基本使用:

git stash: 这个命令会保存你的改动,然后恢复工作目录到最近的一次提交状态。默认情况下,只有被Git追踪的文件的改动会被暂存,未被追踪的文件和.gitignore中忽略的文件不会被暂存。
查看stash列表:

git stash list: 显示所有储藏的stash条目,每个stash都有一个唯一的引用,形如 stash@{0}, stash@{1}, 等等,其中 {0} 是最近的stash。
应用stash:

git stash apply [stash@{n}]: 应用指定的stash到工作目录,如果省略 [stash@{n}],则默认应用最近的stash。此操作不会从stash列表中移除该stash。
git stash pop: 类似于 apply,但应用之后会自动从stash列表中移除该stash。
查看stash内容:

git stash show [stash@{n}]: 查看指定stash包含的改动详情。如果不指定,默认查看最近的stash。
创建带消息的stash:

git stash save “Your message here”: 在创建stash时添加一条描述性消息,帮助你更好地理解stash的内容。
基于stash创建新分支并应用:

git stash branch [stash@{n}]: 这个命令会创建一个新的分支,并将指定的stash应用到这个新分支上。这对于从stash中继续开发是一个非常方便的方法。

删除stash: 要删除一个stash,首先使用 git stash list 查看stash的引用,然后使用 git stash drop stash@{n} 来删除指定的stash。

记住,git stash 是在本地进行的操作,不会影响远程仓库。它是解决需要快速切换分支、回退提交,而又不想或不能立即提交当前改动时的理想选择。

进阶使用:

默认情况下,git stash 命令只会保存已经被 Git 跟踪的文件的改动,而不包括未被跟踪的文件(untracked files)。但是,如果你希望同时保存未追踪的文件,可以通过提供一个额外的选项来实现:

git stash --include-untracked
或者简写为:
git stash -u
这会将未被 Git 跟踪的文件也一并保存到 stash 中。当你之后使用 git stash apply 或 git stash pop 来恢复这些改动时,未追踪的文件也会被恢复出来。

如果你想进一步包括被 .gitignore 忽略但已被修改的文件,可以使用:
git stash --all
或简写为:
git stash -a
这会将所有改动和未追踪的文件都保存起来,包括那些被忽略但是被修改过的文件。不过,使用这个选项时要格外小心,因为它可能会导致一些预期之外的数据被恢复。

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

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

相关文章

计算机网络5:运输层

概述 进程间基于网络的通信 计算机网络中实际进行通信的真正实体,是位于通信两端主机中的进程。 如何为运行在不同主机上的应用进程提供直接的逻辑通信服务,就是运输层的主要任务。运输层协议又称为端到端协议。 运输层向应用层实体屏蔽了下面网络核心…

【机器学习】机器学习重要分支——集成学习:理论、算法与实践

文章目录 引言第一章 集成学习的基本概念1.1 什么是集成学习1.2 集成学习的类型1.3 集成学习的优势 第二章 集成学习的核心算法2.1 Bagging方法2.2 Boosting方法2.3 Stacking方法 第三章 集成学习的应用实例3.1 图像分类3.2 文本分类 第四章 集成学习的未来发展与挑战4.1 模型多…

【前端项目笔记】2 主页布局

主页布局 element-ui提供的组件名称就是它的类名 ☆☆ CSS选择器: (1)基本选择器 类型选择器 p/span/div…… 类选择器 (.classname) ID选择器 (#idname) 通配选择器 ( * ) (2)属性选择器 选择具有特定属性或属性值的…

编程猫对孩子有什么用处:探索编程教育的多元价值

编程猫对孩子有什么用处:探索编程教育的多元价值 在数字化浪潮席卷全球的今天,编程教育逐渐成为了孩子们成长道路上不可或缺的一部分。编程猫,作为专注于儿童编程教育的品牌,以其独特的教学方式和丰富的教学内容,深受…

【C语言】解决C语言报错:Uninitialized Variable

文章目录 简介什么是Uninitialized VariableUninitialized Variable的常见原因如何检测和调试Uninitialized Variable解决Uninitialized Variable的最佳实践详细实例解析示例1:局部变量未初始化示例2:数组未初始化示例3:指针未初始化示例4&am…

C语言、C++和C#的区别在什么地方?

C语言、C和C#是三种不同的编程语言,它们在设计目标、特性和应用领域上有各自的特点。C语言是一种过程式编程语言,C是一种多范式编程语言,支持过程式编程和面向对象编程,而C#是一种高级的面向对象编程语言,主要面向.NET…

C的I/O操作

目录 引言 一、文件与目录操作 1. 打开与关闭文件 2. 文件读写操作 3. 文件定位与错误处理 二、字符流与字节流 1. 字符流处理 2. 字节流处理 三、序列化与反序列化 1. 序列化 2. 反序列化 四、新的I/O(NIO) 表格总结 文件与目录操作 字符…

## Java注解深入解析:增强代码可读性和维护性

Java注解是一个元数据形式,提供了一种用于在代码中添加信息的方法,这些信息可以通过编译时的处理工具或运行时的处理过程来使用。注解使得程序员可以写出更干净、更易于理解和维护的代码。本文将介绍Java注解的基本概念、创建自定义注解、以及注解在实际…

Java基础学习-数组

目录 数组定义 注意点: 地址值是数组在内存中实际存储的地址。 案例遍历:遍历数组得到每一个元素,求数组里面所有数据和 案例:定义数组,遍历能被3整除的数字 案例:遍历一个数组,奇数将当前…

守护电力心脏:国网电力监控运维平台的智慧使命

国网电力监控运维平台,以其强大的数据分析和处理能力,实现了对电网运行的实时监控。无论是电压波动、电流异常,还是设备故障,平台都能迅速捕捉并发出预警,确保电力供应的稳定和安全。 山海鲸可视化电力监控运维平台 想…

jpg压缩在线方法,我只用这2种(无损)

在数字化的时代,我们经常需要分享、存储或上传各种图像文件,而JPG是其中最常见的图像格式之一。然而,大文件大小有时可能成为一个问题,尤其是在网络传输或存储空间有限的情况下。为了解决这一问题,我们可以利用在线工具…

【嵌入式系统开发】002 VI编辑器入门

文章目录 0. 前言1. VI编辑器简介1.1 什么是VI编辑器1.2 打开VI编辑器 2. VI编辑器的三种工作模式间(模式切换与部分功能)3. 移动操作4. 编辑4.1 插入4.2 删除 5. 复制、粘贴6. 查找、替换 0. 前言 对文件进行编辑时,如果是在有图…

gsoap2.8交叉编译方法(详细、亲测可用)

环境搭建 交叉编译器安装,过程略。 注意:如果要使用脚本配置环境变量,在运行脚本时,应该使用 . /绝对路径的方式,而不是直接/绝对路径或者./绝对路径,否则会导致配置失败。(亲测如此&#xff0…

[巨详细]安装HBuilder-X教程

文章目录 下载HBuilder-X点击网址 ,打开官网先点击所有产品,再点击HBuilder-X。进入HBuilder-X官网页面点击more,选择适合的版本下载。等待下载打开压缩包,点击HBuilderX.exe选择喜欢的风格关闭该弹窗,选择创建就创建成…

2024.06.05校招 实习 内推 面经

绿*泡*泡VX: neituijunsir 交流*裙 ,内推/实习/校招汇总表格 1、实习 | 航天恒星2025届暑期实习生招聘启动 实习 | 航天恒星2025届暑期实习生招聘启动 2、实习 | 盛雄激光2025 “ 雏鹰计划 ” 实习生招募 实习 | 盛雄激光2025 “ 雏鹰计划 ” 实习生…

如何学习 Java 中的 Socket 编程,进行网络通信

Socket编程是网络编程的核心技术之一,它使得不同主机之间可以进行数据通信。Java提供了丰富的网络编程API,使得编写网络应用程序变得相对简单和直观。本文将详细讲解如何学习Java中的Socket编程,并通过示例代码展示如何实现网络通信。 一、S…

Java情侣飞行棋系统小程序+H5+微信公众号+APP 源码

💑甜蜜互动,共赴云端之旅🛫 🌈一、引言:飞行棋遇上情侣,乐趣翻倍 在繁忙的生活中,情侣们总是渴望找到一种简单而有趣的方式来增进彼此的感情。这时,情侣飞行棋小程序应运而生&#…

视频融合共享平台LntonCVS视频监控管理平台技术方案详细介绍

LntonCVS国标视频综合管理平台是一款以视频为核心的智慧物联应用平台。它基于分布式、负载均衡等流媒体技术进行开发,提供广泛兼容、安全可靠、开放共享的视频综合服务。该平台具备多种功能,包括视频直播、录像、回放、检索、云存储、告警上报、语音对讲…

【C#】汽车租赁系统设计与实现

目的: 设计一个简单的汽车租赁系统,包含以下功能: 添加车辆:用户可以添加新的车辆到系统中,包括车辆的品牌、型号、车牌号、日租金等信息。查找车辆:用户可以通过车牌号或者品牌来查找车辆,并…

编程搭积木的app叫什么:探索积木编程的奥秘与应用

编程搭积木的app叫什么:探索积木编程的奥秘与应用 在数字化时代,编程教育日益受到重视,而积木编程作为一种新颖、有趣的学习方式,正逐渐走进人们的视野。那么,那些让我们通过搭积木来学习编程的app到底叫什么呢&#…