当前位置: 首页 > article >正文

【git】 贮藏 stash

贮藏是我在sourcetree上看到的名词。之前只是浅浅的用来收藏一下修改的文件,没有完整的使用过。今天有幸使用了一次就来展开说说。

使用原因就不赘述了,错误的操作少提为好,操作步骤如下:

  1. 查看贮藏列表
    git stash list
    #输出:
    #stash@{0}: On issue-19-1-1: XXXXXXX
    
  2. 查看储藏的文件差异:
    git stash show stash@{0} --statjs/common/xx.js | 2 +-1 file changed, 1 insertion(+), 1 deletion(-)
    
  3. 应用储藏的文件git stash apply stash@{0}
  4. 提交更改
    git add .
    git commit -m 'chore: ...'
    git push
    
  5. 删除储藏项git stash drop stash@{0}

Git Stash相关

Git Stash:暂存工作,灵活切换

在 Git 工作流程中,我们常常遇到需要临时中断当前工作、切换到其他任务的情况。git stash 是一个非常实用的命令,它允许你将当前未提交的更改暂存起来,以便稍后恢复,从而让你能够更灵活地管理代码变更。

基本概念

git stash 的核心功能是将当前工作目录和暂存区中的更改保存到一个栈中,这个栈被称为 “stash stack”。它就像一个临时的存储空间,你可以将未完成的工作放在这里,等需要时再取出来继续工作。

常见用法

保存当前工作

当你在某个分支上进行开发,突然需要切换到其他分支处理紧急任务时,可以使用以下命令保存当前工作:

git stash

在使用 git stash 贮藏本地修改文件时,可以通过添加 -m 参数来添加文字说明。这有助于你更好地管理贮藏的更改,尤其是在有多个贮藏时,可以方便你识别每个贮藏的内容。

git stash push -m "说明文字"

这会将当前未提交的更改(包括工作目录和暂存区中的更改)保存到 stash stack 中,并将工作目录恢复到最近一次提交的状态。

查看已保存的工作

要查看 stash stack 中已保存的工作,可以使用:

git stash list

这会列出所有已保存的更改,每个更改都有一个唯一的标识符,例如 stash@{0}stash@{1} 等,并显示你添加的说明文字(如添加),帮助你识别每个贮藏的内容。

应用已保存的工作

当你完成其他任务,想要回到之前的工作时,可以使用以下命令应用已保存的更改:

git stash apply stash@{0}

这会将指定的更改应用到当前工作目录中。如果应用过程中出现冲突,Git 会提示你解决这些冲突。

删除已保存的工作

如果你已经不再需要某个已保存的更改,可以使用以下命令将其从 stash stack 中删除:

git stash drop stash@{0}

这会删除指定的更改。如果你想要同时应用并删除某个更改,可以使用:

git stash pop stash@{0}

这相当于先执行 git stash apply,再执行 git stash drop

高级用法

保存部分更改

有时你可能只想保存部分更改,而不是整个工作目录的更改。这时可以使用:

git stash push -p

这会进入交互模式,让你选择要保存的更改部分。

合并储藏的文件

如果你想将储藏的文件合并到当前分支,可以使用:

git stash branch <branch-name>

这会创建一个新的分支,并将储藏的更改应用到该分支中。

查看储藏的文件差异

要查看储藏的文件与当前工作目录的差异,可以使用:

git stash show stash@{0} --stat

这会显示储藏的文件变更摘要,包括新增、修改和删除的文件。

总结

git stash 是一个非常强大的工具,它让你能够灵活管理未提交的更改。通过将更改暂存起来,你可以更方便地切换任务、处理紧急问题或进行其他开发工作。

相关文章:

【git】 贮藏 stash

贮藏是我在sourcetree上看到的名词。之前只是浅浅的用来收藏一下修改的文件&#xff0c;没有完整的使用过。今天有幸使用了一次就来展开说说。 使用原因就不赘述了&#xff0c;错误的操作少提为好&#xff0c;操作步骤如下&#xff1a; 查看贮藏列表git stash list #输出&…...

ctf-web: php原生类利用 -- GHCTF Popppppp

源代码 <?php error_reporting(0); class CherryBlossom { public $fruit1; public $fruit2; public function __construct($a) {$this->fruit1 $a; } function __destruct() { echo $this->fruit1; } public function __toString() { $newFunc …...

PawSQL for TDSQL:腾讯云TDSQL数据库性能优化全攻略

TDSQL 作为腾讯云推出的分布式数据库&#xff0c;凭借其高扩展性、高可用性和高性能等优势&#xff0c;广泛应用于金融、互联网、政务等领域。随着业务的不断增长和数据量的爆炸式增长&#xff0c;如何优化 TDSQL 数据库的性能&#xff0c;成为众多企业和开发者面临的挑战。本文…...

202250311-WINDOWS本地4G显存Docker运行vLLM

前置&#xff1a; 需要去huggingface注册账号获取token&#xff1a;HUGGING_FACE_HUB_TOKEN 运行vLLM docker run --name LocalvLLM_qwen1.5B_Int4 --runtime nvidia --gpus all -v D:/vLLM/.cache/huggingface:/root/.cache/huggingface --env "HUGGING_FAC…...

Scala 中生成一个RDD的方法

在 Scala 中&#xff0c;生成 RDD&#xff08;弹性分布式数据集&#xff09;的主要方法是通过 SparkContext&#xff08;或 SparkSession&#xff09;提供的 API。以下是生成 RDD 的常见方法&#xff1a; 1. 从本地集合创建 RDD 使用 parallelize 方法将本地集合&#xff08;如…...

T-SQL 语言基础:表运算符与联接

目录 介绍表运算符概述交叉联接内联接外联接联接实例总结引用 1. 介绍 在这篇博客中&#xff0c;主要涉及 T-SQL 中的表运算符与联接。联接操作是 SQL 查询中最常用的操作之一&#xff0c;它允许我们在多个表之间进行数据关联。通过了解不同类型的联接及其应用场景&#xff…...

Electron打包工具对比

在 Electron 生态中&#xff0c;打包工具的选择直接影响开发效率、配置复杂度和最终应用的性能。以下是主流的 Electron 打包工具及其优劣分析&#xff0c;结合你的 Vue 项目需求&#xff0c;我会在最后给出推荐方案&#xff1a; 一、主流 Electron 打包工具对比 1. Electron …...

jumpserver 网络安全 网络安全 authenticity

1.1 计算机安全的概念 1.1.1 计算机安全最核心的三个关键目标(CIA)&#xff1a; 保密性(Confidentiality)--①数据保密性&#xff08;确保隐私或秘密不向非授权者泄密或使用&#xff09;&#xff1b; ②隐私性&#xff08;确保个人能够控制或确定其自身相关的信息&#xff09…...

Spring Cloud之远程调用OpenFeign参数传递

目录 OpenFeign参数传递 传递单个参数 传递多个参数 传递对象 传递JSON OpenFeign参数传递 传递单个参数 服务提供方product-service RequestMapping("/product") RestController public class ProductController {Autowiredprivate ProductService productSe…...

详解SQL权限与授予与收回对数据操作权限的操作

授予与收回对数据操作权限 一、GRANT 操作用法示例 二、REVOKE 操作用法示例 三、权限1. 数据库级别权限常见权限&#xff1a; 2. 对象级别权限作用对象&#xff1a;常见权限&#xff1a;对表或视图&#xff1a;对序列&#xff08;Sequence&#xff09;&#xff1a;对存储过程和…...

网络安全之文件上传漏洞

一&#xff0c;文件上传漏洞的原因&#xff1a; 文件上传漏洞的存在主要是因为开发者未对用户上传的文件进行充分的安全验证&#xff0c;导致攻击者可以上传恶意文件&#xff08;如 WebShell、恶意脚本等&#xff09;到服务器&#xff0c;进而控制服务器或实施进一步攻击。 常…...

Fast DDS Security--仿问控制

Fast DDS中提供了两种级别的仿问控制&#xff1a; 1 Domain Governance: 定义域级别的安全策略&#xff08;全局规则&#xff09;. 2 DomainParticipant Permissions &#xff1a; 定义参与者的具体权限&#xff08;个体规则&#xff09; 先说一下Domain Governance&#xf…...

【13】单片机编程核心技巧:乘法运算

【13】单片机编程核心技巧&#xff1a;乘法运算 七律 乘法 乘法运算寄存间&#xff0c;溢出玄机隐字边。 连乘自增简写妙&#xff0c;移位替代速如仙。 中间变量扩疆土&#xff0c;长整型存避险关。 单片机中精算术&#xff0c;毫厘不爽展奇观。 摘要 乘法运算是单片机编程…...

为什么大模型网站使用 SSE 而不是 WebSocket?

在大模型网站&#xff08;如 ChatGPT、Claude、Gemini 等&#xff09;中&#xff0c;前端通常使用 EventSource&#xff08;Server-Sent Events, SSE&#xff09; 来与后端对接&#xff0c;而不是 WebSocket。这是因为 SSE 更适合类似流式文本生成的场景。下面我们详细对比 SSE…...

PostgreSQL的备份方式

PostgreSQL 提供多种方式进行备份&#xff0c;适用于不同需求的场景。常用的备份方法如下&#xff1a; 1. 逻辑备份&#xff08;pg_dump 和 pg_dumpall&#xff09; 1.1 使用 pg_dump 备份单个数据库 pg_dump 是 PostgreSQL 内置的逻辑备份工具&#xff0c;可以将数据库导出为…...

iTextSharp-PDF批量导出

HTML转PDF批量导出速度太慢且使用Spire.pdf.dll限制页签10后需要开通会员才能使用-做出优化 环境&#xff1a;U9 - UI插件 需求&#xff1a;选择需要导出的客户查询对应对账数据批量导出PDF并弹出下载框保存到默认位置 using System; using System.Collections.Generic; us…...

基于Matlab设计GUI图像处理交互界面

Image-Processing-GUI 项目说明 本博文提供了完整的代码和使用教程&#xff0c;适合新入门的朋友参考&#xff0c;完整代码资源文件请转至文末的下载链接。 本项目是《Matlab实践》中图像处理软件题目&#xff0c;本项目实现的具体内容如下 基于Matlab设计GUI交互界面图像的…...

osg安装编译第三方,完整详细过程。 libtiff/tif config.vc.hdoes not exist

第三方安装包下载地址 GitHub - bjornblissing/osg-3rdparty-cmake: CMake scripts for building OpenSceneGraph third party libraries. 在计算机中的布局 D:\CPlus\osg\src\osg-3rdparty\osg-3rdparty-cmake三层布局&#xff0c;src 放置源码 执行里面的批处理文件&#…...

红队OPSEC(安全运营)个人总结

OPSEC又称&#xff1a;运营安全&#xff0c;是指在红队的视角下&#xff0c;蓝队对我方的威胁。 OPSEC漏洞的五个流程&#xff1a; 关键信息识别&#xff1a;指红队的关键信息不泄露&#xff0c;包括但不限于红队的攻击意图&#xff0c;能力&#xff0c;人员&#xff0c;活动及…...

RSA算法:开启现代密码学的数学之钥

一、RSA算法简介 RSA&#xff08;Rivest-Shamir-Adleman&#xff09;是当今应用最广泛的非对称加密算法&#xff0c;由三位科学家Ron Rivest、Adi Shamir和Leonard Adleman于1977年提出。它的核心思想是利用数论中的难题&#xff0c;构建一对数学上关联的密钥——公钥用于加密…...

【从0到1构建实时聊天系统:Spring Boot + Vue3 + WebSocket全栈实战】

一、项目架构 技术栈清单&#xff1a; 后端&#xff1a;Spring Boot 3.0 WebSocket STOMP前端&#xff1a;Vue3 Pinia WebSocket Client部署&#xff1a;Nginx Docker Compose 二、核心功能实现 1. WebSocket双向通信 // 后端配置类 Configuration EnableWebSocketMes…...

HTML 超链接(简单易懂较详细)

在 HTML 中&#xff0c;超链接是通过 <a> 标签&#xff08;anchor tag&#xff09;创建的。超链接允许用户通过点击文本、图像或其他元素跳转到另一个网页、文件或页面的特定部分。本文将详细介绍 HTML 超链接的语法、属性和应用场景。 一、基本语法 <a href"U…...

《Android应用性能优化全解析:常见问题与解决方案》

目录 一、UI卡顿/掉帧 二、内存泄漏&#xff08;Memory Leak&#xff09; 三、ANR&#xff08;Application Not Responding&#xff09; 四、列表滑动卡顿&#xff08;RecyclerView/ListView&#xff09; 五、冷启动耗时过长 六、内存抖动&#xff08;Memory Churn&#x…...

常见HTTP 状态码及意义

HTTP状态码是服务器响应客户端请求时返回的三位数字代码&#xff0c;它们分为五个类别&#xff0c;每个类别代表不同类型的响应。 1xx - 信息性状态码 这些状态码表示请求已被接收&#xff0c;继续处理。 100 Continue: 客户端应继续其请求。这个临时响应用于通知客户端&…...

Android Compose Surface 完全指南:从入门到花式操作

今天咱们来聊聊 Compose 世界里那个既基础又强大的组件——Surface。这个看似简单的矩形区域&#xff0c;实际藏着不少宝藏玩法&#xff0c;准备好你的 IDE&#xff0c;咱们发车&#xff01; 一、Surface 是什么&#xff1f; 简单说&#xff0c;Surface 就是个自带背景和样式…...

Deepin通过二进制方式升级部署高版本 Docker

一、背景&#xff1a; 在Deepin系统中通过二进制方式升级部署高版本 Docker&#xff0c;下面将详细介绍二进制方式升级部署高版本 Docker 的具体步骤。 二、操作步骤 1.根据需求下载二进制文件&#xff0c;下载地址如下&#xff1a; https://mirrors.tuna.tsinghua.e…...

python中time模块的常用方法及应用

Python 的 time 模块是自带的标准模块&#xff0c;不需要额外安装&#xff0c;可以直接通过import time的方式导入并使用其中的函数和类。该模块提供了与时间相关的各种功能&#xff0c;以下是一些常用方法及其应用场景和示例&#xff1a; ### 1. time.time() - **功能**&…...

【RTSP】客户端(一):RTSP协议实现

概述 RTSP主要功能总结 RTSP本质是一个应用层协议&#xff0c;主要用于控制实时数据的传递&#xff0c;例如音视频流。RTSP的传输方式与HTTP类似&#xff0c;与HTTP不同在于RTSP主要用于控制传输媒体服务器上的流媒体会话。所以其是一个 客户端-服务器模型&#xff0c;客户端需…...

SpringBoot(一)--搭建架构5种方法

目录 一、⭐Idea从spring官网下载打开 2021版本idea 1.打开创建项目 2.修改pom.xml文件里的版本号 2017版本idea 二、从spring官网下载再用idea打开 三、Idea从阿里云的官网下载打开 ​编辑 四、Maven项目改造成springboot项目 五、从阿里云官网下载再用idea打开 Spri…...

面试之《commonjs,requirejs和es6 Module的区别》

设计理念 CommonJS&#xff1a;是为服务器端环境设计的模块化规范&#xff0c;以同步加载模块为核心思想。服务器端读取文件速度快&#xff0c;同步加载不会造成明显性能问题&#xff0c;方便开发者在代码执行前就确定模块间的依赖关系&#xff0c;便于管理和维护。RequireJS&…...