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

【Git】git stash

目录

    • 基本概念
    • 参数详解
        • list
        • show
        • save
        • push
        • pop|apply
        • drop
        • clear
        • branch
    • 参考文章

Git的stash命令是一个非常实用的功能,它允许开发者临时保存工作目录和暂存区的更改,以便能够切换到其他分支或进行其他操作,而不会丢失当前的修改。以下是git stash的详细解析:

基本概念

  • 工作目录:当前开发者正在工作的目录,包含了所有已修改但尚未提交的文件。
  • 暂存区(Staging Area):也称作索引(Index),是提交前的一个临时区域,用于存放将要被提交的更改。
  • Stash:一个用于临时存储工作目录和暂存区更改的栈(Stack)。

参数详解

list

语法 git stash list [<options>] ,与git log功能类似,列出储藏列表,options 参数可以参考git log的参数

show

语法 git stash show [<options>] [<stash>],和git show功能类似

save

语法 git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet] [-u|--include-untracked] [-a|--all] [<message>]

  1. 将本地更改保存到新的储藏队列,
  2. [-p|--patch] 以patch模式提交,允许选择需要保存的块,具体参考git add的–patch模式
  3. [-k|--[no-]keep-index] [不]保留 index 序号
  4. [-q|--quiet] 静默执行,即不显示结果
  5. [-u|--include-untracked] 储藏时包括未跟踪的文件
  6. [-a|--all] 储藏所有文件,包括忽略的文件
    建议使用push代替save
push

push可以讲其中几个文件贮藏
语法 git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet] [-u|--include-untracked] [-a|--all] [-m|--message <message>] [--] [<pathspec>...]]

  1. 将本地修改保存到新的储藏队列,用法与save基本一致,多了[--] [<pathspec>...]可选参数
  2. [--] [<pathspec>...] 使用路径匹配,只有路径匹配下的文件会被储藏,通常用于储藏部分文件
  3. push选项可以被省略,以便快速保存,省略push时,不能使用参数
pop|apply

语法 git stash ( pop | apply ) [--index] [-q|--quiet] [<stash>],取出指定的队列,默认取出最新的队列,pop与apply的区别在于,pop在取出队列后会删除stash中的队列,apply则不会删除
在vs 中对应关系如下:
pop=弹出->应用当前贮藏并删除
appy=应用->仅应用

drop

语法 git stash drop [-q|--quiet] [<stash>],删除某个储藏队列,默认删除最新的储藏队列

clear

语法 git stash clear,删除所有储藏

branch

语法 git stash branch <branchname> [<stash>],使用某个储藏队列建立分支,同时删除该队列

[<stash>]指stash队列的名称,形式为stash@{id}

参考文章

  1. git stash参数介绍
  2. git stash操作

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 解决 Git 访问 GitHub 时的 SSL 错误
  • 等保测评与《网络安全法》的深度融合
  • 视频主题Qinmei 3.0视频站源码_WordPress影视视频主题/附详细安装教程
  • springboot电动自行车租赁系统-计算机毕业设计源码64081
  • SpringBoot的基础配置
  • leetcode-207. 课程表
  • java基础概念08-跳出多重循环嵌套
  • 基于主成分分析(PCA)的平面拟合(python)
  • 从0开始学习c++01-软件下载和安装
  • 诊断技巧分享 | 用WPS500压力传感器测试空调压力波形?
  • MySQL存储引擎MyISAM和InnoDB
  • 关于npm --save
  • 如何提高计算机视觉技术在复杂环境和低光照条件下的物体识别准确率?
  • 调用百度的大模型API接口实现AI对话!手把手教程!
  • 【数据中台】大数据管理平台建设方案(原件资料)
  • 【159天】尚学堂高琪Java300集视频精华笔记(128)
  • Bytom交易说明(账户管理模式)
  • conda常用的命令
  • docker python 配置
  • Javascript 原型链
  • leetcode386. Lexicographical Numbers
  • quasar-framework cnodejs社区
  • React-flux杂记
  • SpiderData 2019年2月25日 DApp数据排行榜
  • Web Storage相关
  • 用 Swift 编写面向协议的视图
  • 【干货分享】dos命令大全
  • scrapy中间件源码分析及常用中间件大全
  • 分布式关系型数据库服务 DRDS 支持显示的 Prepare 及逻辑库锁功能等多项能力 ...
  • 关于Android全面屏虚拟导航栏的适配总结
  • ​iOS安全加固方法及实现
  • ​探讨元宇宙和VR虚拟现实之间的区别​
  • # AI产品经理的自我修养:既懂用户,更懂技术!
  • ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
  • (70min)字节暑假实习二面(已挂)
  • (层次遍历)104. 二叉树的最大深度
  • (非本人原创)我们工作到底是为了什么?​——HP大中华区总裁孙振耀退休感言(r4笔记第60天)...
  • (七)Java对象在Hibernate持久化层的状态
  • (十三)Maven插件解析运行机制
  • (一)Kafka 安全之使用 SASL 进行身份验证 —— JAAS 配置、SASL 配置
  • .bat批处理(一):@echo off
  • .NET Project Open Day(2011.11.13)
  • .net 微服务 服务保护 自动重试 Polly
  • .Net各种迷惑命名解释
  • .NET国产化改造探索(一)、VMware安装银河麒麟
  • .net项目IIS、VS 附加进程调试
  • :如何用SQL脚本保存存储过程返回的结果集
  • :中兴通讯为何成功
  • @WebService和@WebMethod注解的用法
  • [ vulhub漏洞复现篇 ] Django SQL注入漏洞复现 CVE-2021-35042
  • [ 英语 ] 马斯克抱水槽“入主”推特总部中那句 Let that sink in 到底是什么梗?
  • [20150904]exp slow.txt
  • [2024-06]-[大模型]-[Ollama] 0-相关命令
  • [⑧ADRV902x]: Digital Pre-Distortion (DPD)学习笔记
  • [ABC275A] Find Takahashi 题解