Git stash命令的使用说明及案例分析

news/2025/11/10 9:33:21/文章来源:https://www.cnblogs.com/yang520/p/19205878

Git stash命令在版本控制系统操作中作为一个非常有用的功能,允许用户临时保存当前工作目录中的更改并清理工作目录,使其回到最近的提交状态,便于切换分支或暂时撤回更改,而不丢失工作进度。

基本使用

创建Stash

git stash

这个命令将会保存工作目录和暂存区的当前更改。执行这个命令后,你的工作目录将是干净的,与最后一次提交的状态相同。

查看Stash列表

git stash list

此命令显示了所有的stash项。默认情况下,stash项被命名为 stash@{0}stash@{1}stash@{2}, 依此类推,其中 stash@{0}是最新的stash。

应用Stash

git stash apply

该命令恢复最新的stash内容。如果需要恢复指定的stash项,可以使用:

git stash apply stash@{n}

其中 n是要恢复的stash的编号。

删除Stash项

git stash drop stash@{n}

通过此命令可以删除指定的stash项。

恢复Stash并删除Stash项

git stash pop

这个命令将应用最上面的stash并将其从stash列表中删除。

清空所有Stash项

git stash clear

执行后,所有缓存的stash项都会被删除。

高级使用

保存未暂存的更改
默认情况,git stash不会保存未暂存的更改。如果也想保存这些更改,可以使用:

git stash -k
git stash --keep-index

包含未跟踪的文件
如果工作目录有未跟踪的文件,可以使用以下命令将它们也加入到stash中:

git stash -u
git stash --include-untracked

创建带有描述的stash

git stash save "Your custom message"

这样可以为stash项添加一个描述,方便以后识别。

案例分析:

假定你正在开发一个功能,在开发的中途,你需要切换到其他分支处理一个紧急的bug。

  1. 保存当前进度
    首先存储当前的工作进度,使工作目录干净:
git stash
  1. 切换分支修复bug
git checkout fix-bug-branch
# ... 解决bug ...
git commit -am "Fix bug"
  1. 返回之前的工作
git checkout feature-branch
  1. 恢复进度
    接着,你可以使用以下命令恢复你的工作进度:
git stash pop

此时,之前保存的更改将会重新应用到工作目录,并且该更改会从stash列表中删除。

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

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

相关文章

免费域名

1.来自非盈利组织:digitalplat 免费域名 网址https://dash.domain.digitalplat.org/

AI元人文:理论之实践——构建人机价值协同的文明操作系统

AI元人文:理论之实践——构建人机价值协同的文明操作系统 摘要:本文系统阐述了"AI元人文"理论框架从哲学构想走向工程实践的完整路径。面对价值量化、语境理解与计算复杂度等核心困境,提出以"动态价…

2025年东莞横沥到乌鲁木齐物流专线公司权威推荐榜单:横沥到郑州物流/横沥到南通物流/横沥到开封物流源头公司精选

在粤港澳大湾区产业升级与西部大开发战略深度融合的背景下,东莞横沥至乌鲁木齐的物流专线已成为连接东南沿海与西北内陆的重要供应链通道。该线路全程超过3500公里,穿越中国地理三大阶梯,是代表性的长距离陆运线路之…

深入解析:JS异步中async、await讲解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025年除鳞泵定做厂家权威推荐榜单:高压清洗泵/细水雾泵/反渗透增压泵源头厂家精选

在冶金、电力及重型工业领域,除鳞泵作为高压水射流系统的核心装备,其性能直接决定了除鳞效率与运行成本。当前,工业除鳞系统正朝着高压化、智能化与定制化方向发展,以满足不同工况的精细需求。据行业统计,2024年国…

基于Tucker分解和ADMM算法的MATLAB张量补全代码

一、核心代码实现(支持多维张量) function [X_recovered, core, factors] = tensor_completion_admm(noisy_tensor, Omega, ranks, max_iter, rho, tol)% 输入参数:% noisy_tensor: 含缺失值的张量(缺失值用NaN表示…

【2025-11-07】项目风险

20:00平生诗句领流光,绝爱初冬万瓦霜。枫叶欲残看愈好,梅花未动意先香。暮年自适何妨退,短景无营亦自长。况有小儿同此趣,一窗相对弄朱黄。——《初冬》宋陆游昨天,一位销售同事发了我一张项目规划清单以及清单内…

Linux IOWait 解读

Linux IOWait 解读在 Linux 系统运维中,你可能见过 “CPU 使用率里有个 IOWait 很高” 的情况,有人说这是硬盘读写慢,有人说没事不用管 —— 其实 IOWait 没那么复杂,今天用大白话给你讲明白它到底是什么、为什么会…

常见的算法类型

软考中常见的算法类型在软考中,回溯法、分治法、动态规划和贪心算法是常见的算法题型,它们分别适用于不同类型的问题。下面列出一些常见的题目,以及这些算法常用于解决的其他问题。一、回溯法(Backtracking)回溯法…

Ajax调试后端输出的最简方案:FormData+Firebug实战教程

在Web开发中,Ajax负责前后端的数据传输,而在调试阶段,我们常常希望快速查看后端返回的数据。有时后端输出内容较复杂,浏览器默认的控制台又不直观,这就让调试变得有些麻烦。本文介绍一种简洁实用的调试方式,通过…

鸡肋的TaskFactory是时候抛弃了

鸡肋的TaskFactory是时候抛弃了TaskFactory调用系统线程池来执行Task 手搓线程池不一定要依赖TaskFactory就能直接执行Task一、TaskFactory的作用通过TaskFactoryk可以生成Task 并在系统线程池中执行1. TaskFactory.St…

C# 连接HANA 数据库(元宝建议,未验证)

. 使用ADO.NET Data Provider(推荐) 安装NuGet包Install-Package Sap.Data.Hana.v4.0示例:using System; using Sap.Data.Hana;public class HanaConnection {public void Connect(){string connectionString = &qu…

K8S集群1.30版本怎么配置NFS动态存储

Github网站 https://github.com/kubernetes-csi/csi-driver-nfs版本查看 系统版本# lsb_release -a No LSB modules are available. Distributor ID:Ubuntu Description:Ubuntu 22.04.4 LTS Release:22.04 Codename:ja…

基于互信息的Matlab多模态医学图像配准实现

一、算法原理与流程 1. 互信息计算原理 互信息衡量两幅图像灰度分布的统计相关性,数学表达式为: \(MI(X,Y)=H(X)+H(Y)−H(X,Y)\) 其中\(H(X)\)为图像X的熵,\(H(X,Y)\)为联合熵。配准目标是找到使\(MI\)最大的空间变…

2025下半年软考系统架构设计师题目回忆版

案例分析题 1. 2. 嵌入式系统 3. pettri 建模工具的相关意义以及用法 4. web系统 限界上下文 相关理论 5.论文写作题 1. 软件性能测试技术及其应用列举了 压力测试技术,就性能测试技术对项目系统性能瓶颈相关进行识别…

Navicat Premium 17 破解版下载及安装使用教程

Navicat Premium 17 破解版下载及安装使用教程前言 Navicat Premium 是一套可创建多个连接的数据库开发工具,让你从单一应用程序中同时连接 MySQL、MariaDB、MongoDB、SQL Server、Oracle、PostgreSQL 和 SQLite 。它…

深入解析:基于微信小程序的校园代取服务平台

深入解析:基于微信小程序的校园代取服务平台pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", &qu…

了解redux么,说一下redux?

Redux 是一个用于 JavaScript 应用程序中管理应用状态的工具库,特别常用于 React 应用,但它并不限于 React。它为 JavaScript 应用提供了一种集中式的、可预测的状态管理方式。 Redux 的基本概念 Redux 的核心理念可…

HelloAgent零基础入门学习笔记 - yi

HelloAgent零基础入门学习笔记最近我开始了对HelloAgent的学习,由于基础比较薄弱,正想系统学习智能体系统的原理与实践。恰逢Datawhale官方举办了组队学习计划,专门针对智能体系统进行系统教学,我便毫不犹豫地报名…