git stash用法

2023-11-08

常用git stash命令:

(1)git stash save “save message” : 执行存储时,添加备注,方便查找,只有git stash 也要可以的,但查找时不方便识别。
在这里插入图片描述

在这里插入图片描述

(2)git stash list :查看stash了哪些存储

注意stash存储结构是堆栈,先进后出

在这里插入图片描述

(3)git stash show :显示做了哪些改动,默认show第一个存储,如果要显示其他存贮,后面加stash@{$num},比如第二个 git stash show stash@{1}
在这里插入图片描述

(4)git stash show -p : 显示第一个存储的改动,如果想显示其他存存储,命令:git stash show stash@{$num} -p ,比如第二个:git stash show stash@{1} -p
在这里插入图片描述

(5)git stash apply :应用某个存储,但不会把存储从存储列表中删除,默认使用第一个存储,即stash@{0},如果要使用其他个,git stash apply stash@{$num} , 比如第二个:git stash apply stash@{1}

(6)git stash pop :命令恢复之前缓存的工作目录,将缓存堆栈中的对应stash删除并将对应修改应用到当前的工作目录下,默认为第一个stash,即stash@{0},如果要应用并删除其他stash,命令:git stash pop stash@{$num} ,比如应用并删除第二个:git stash pop stash@{1}
在这里插入图片描述

(7)git stash drop stash@{KaTeX parse error: Expected 'EOF', got '}' at position 4: num}̲ :丢弃stash@{num}存储,从列表中删除这个存储

(8)git stash clear :删除所有缓存的stash

说明:新增的文件,直接执行stash是不会被存储的,举例如下:

在这里插入图片描述

如上图:在git status 那一步很明显可以看出来,我修改了README,添加了新文件abc.txt,然后执行了git stash save后,在执行git stash list 可以看到刚才的save是的信息,然后使用git stash show ,只显示了README的改动被存起来了。

我们知道,执行了git statsh 以后,被存起来的在当前目录再执行git status 就看不到了,但是我们现在再执行git status,如下:

在这里插入图片描述

这个文件还在,说明没有被存起来。说白了就是没有在git 版本控制中的文件,是不能被git stash 存起来的。

那要怎么办呢,这个文件我也想存起来,很明显,先执行下git add 加到git版本控制中,然后再git stash就可以了,如下:

在这里插入图片描述

最后一步可以看出来,这个新增文件已经被stash了。

这个时候再执行下git status ,被存起来的在当前目录就看不到了
在这里插入图片描述

这个时候,想切分支就再也不会报错有改动未提交了。

如果要应用这些stash,直接使用git stash apply或者git stash pop就可以再次导出来了。

总结下:git add 只是把文件加到git 版本控制里,并不等于就被stash起来了,git add和git stash 没有必然的关系,但是执行git stash 能正确存储的前提是文件必须在git 版本控制中才行

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

git stash用法 的相关文章

  • Windows 上的 git 忽略文件名大小写更改 [重复]

    这个问题在这里已经有答案了 我有一个reactjs应用程序 我正在将所有文件名标准化为小写以符合Nodejs 最佳实践 https devcenter heroku com articles node best practices stic
  • 使用 SourceTree 克隆存储库

    有人可以给我一个简单的使用 SourceTree 克隆存储库的快速演练吗 在书签中 我单击克隆存储库 对于源路径 我粘贴如下所示的 URL 电子邮件受保护 cdn cgi l email protection 客户端 应用程序名称 ios
  • 在 git 中管理 schema.rb 的首选方法是什么?

    我不想添加schema rb to gitignore 因为我希望能够从该文件加载新的数据库架构 然而 保持检查状态会导致各种虚假冲突 而这些冲突很容易通过新的解决方案解决 db migrate reset 基本上我想要一种方法 将 sch
  • Azure git 部署 - 第二个程序集中缺少引用

    我正在尝试将 Bitbucket 部署设置到 Azure 网站 我成功链接了 Bitbucket 和 Azure 但是当我推送到 Bitbucket 时 我在 Azure 站点上收到以下错误 如果我单击 查看日志 它会显示以下编译错误 D
  • 在 git 中记录前 10 个

    两个问题 如何从头到尾显示 git 中的前 10 个提交 无分行 如何指定提交索引并记录它 显示第二个或第三个 我知道 git 使用父级来链接提交 很容易从头到尾记录提交 喜欢 git log HEAD 10 但我需要从头到尾查询 可以吗
  • 如何将一个文件存储库上传到 Gist,并保留历史记录?

    我的计算机上有一个包含单个文件的 Git 存储库coins py 我如何才能将其作为 Github 上的要点来保存历史 这其实很简单 您可以将现有历史记录移动到 Gist 存储库中 就像将其移动到任何其他存储库中一样 创建要点 只需输入一些
  • Jenkins groovy - 如何从最新提交中检索标签?

    从中获取最新提交branchName 我们运行下面的代码 treeMapData git branch branchName credentialsId credential url gitLabServer projectName rep
  • gitattributes 中的`* text=auto eol=lf` 会做什么?

    我们的 gitattributes 文件中有这样的内容 text auto eol lf 我想准确理解这是做什么的 第一部分是text auto 来自文档 http git scm com docs gitattributes 这确保了所有
  • 将远程更改合并到非当前分支的分支中

    我有多个分支 我想将远程更改合并到一个分支中不是我当前的分支 例如 git merge remote branch some other branch 仅当本地分支可以快速转发到远程头时 这才是可行的 在任何分支中 要从源获取远程分支并更新
  • 如何更改全局 git 设置以在拉取期间进行 git 合并

    目前 我的全局设置设置为在 git pull 期间执行变基操作 我希望它默认将其更改为 git merge 如何更改此设置 TL DR git config global pull rebase false 有点细节 Git 使用配置pul
  • git commit -m 与 git commit -am

    看起来很容易 但我就是不明白 我在我的应用程序的根目录中 这是我的工作流程 git add git commit m added a new feature some files changed git push heroku master
  • 原始文件被分成另外两个文件,git 有没有办法查看内容去了哪里?

    我的问题 我是一名代码审查员 我在GIT中有一个情况 before a txt 然后开发人员决定拆分内容a txt分成 2 个文件 并在一次提交中添加一些更改 after b txt 很少的变化和c txt 一些变化 有没有简单的方法可以看
  • 如何从 git 存储库中删除作者?

    如果我创建一个 Git 存储库并公开发布它 例如在 GitHub 等上 并且我收到存储库贡献者的请求 无论出于何种原因删除或隐藏他们的名字 有没有一种方法可以轻松做到这一点 基本上 我有这样的请求 可能想将他们的姓名和电子邮件地址替换为 匿
  • 以编程方式将工作项关联到拉取请求

    我可以得到 https www visualstudio com en us docs integrate api git pull requests get a pull request https www visualstudio co
  • 如何正确设置 Azure DevOps 和 GitHub 之间的双向同步

    我想通过执行以下操作在 Azure DevOps 和 GitHub 之间创建双向同步 使用 CI 触发器创建 Azure DevOps 管道 将更改从 Azure DevOps 存储库推送到 GitHub 中的分支 创建第二个管道 用于侦听
  • Git 用户配置文件 - 自定义忽略

    我们有一个由 5 名开发人员组成的团队致力于硬件项目 我们有一个 user config h 文件 其中包含每个用户的特定环境和偏好的 defines 例如他们使用的硬件版本 是否应该打开声音等 目前 该文件位于我们的 gitignore
  • 自给定提交以来 git 中的作者列表

    我想要一种列出所有 git 作者的方法 仅自给定提交以来 是独特的 这两个很简单 我在网上看到过一些解决方案 大多数使用git log format 但我看到的都不符合附加要求 按提交日期排序 因此 如果约翰 史密斯 John Smith
  • 切换到工作区并在 Xcode 中添加 CocoaPods 后提交 git 吗?

    我刚刚在 Xcode 5 中将 CocoaPods 添加到我当前的项目中 当然 CocoaPods 创建了一个工作区 并且我已在 Xcode 中启动了该工作区 我在工作区中看到了我的项目和 Pods 项目 我的项目从第一天起就处于源代码控制
  • 如何让“git status”始终使用短格式?

    我想要git status始终使用短格式 git status short M file1 M dir file2 file untracked3 dir file untracked4 似乎不存在这方面的配置选项 并且git config
  • git 索引到底包含什么?

    Git 索引到底包含哪些内容 可以使用什么命令查看索引内容 感谢您的所有回答 我知道索引充当暂存区 提交的内容是在索引中而不是工作树中 我只是好奇索引对象由什么组成 我猜它可能是文件名 目录名 SHA 1 对的列表 也许是一种虚拟树 在 G

随机推荐

  • 【Qt 6.2 参考手册】QT6.2所有模块

    Qt 6 2 所有模块 Qt 6 2 3 参考文档 内容 Qt基础模块 Qt扩展模块 接下来去哪里 所有模块 Qt基础模块 Qt基础模块在所有平台上定义了Qt的基础 它们可在所有受支持的开发平台和经过测试的目标平台上使用 除了测试模块将保持
  • Linux(centOS7)常用命令

    linux常用命令 监控linux系统情况 查看进程 查看占用的端口 服务状态 修改ip 临时修改ip 永久修改ip 查找文件 权限 包 安装图形界面 查看文件 防火墙 文件编辑 脚本 系统 scp传输 系统用户 修改文件sed i wc命
  • PHP问题:Deprecated: Function split() is deprecated in解决方法

    今天在测试php网站程序的时候 用 分割数组的时候突然出现Deprecated Function split is deprecated in 的错误提示 意思就是 函数方法split 已经被弃用了 然后查了下php文档 原来是随着版本的更
  • zabbix 钉钉&微信&企微告警(动作&操作&消息内容模板)

    一 环境配置 1 配置zabbix服务端 2 配置监控主机 监控项 监控模板 zabbix配置安装 this page is used to test the proper operation of 疯飙的蜗牛的博客 CSDN博客 二 触发
  • SRAMC spec

    SRAMC规范分析 AHB SRAMC这个项目是选取自SOC的一部分 通过AHB总线进行读写操作 实现了下面的功能 功能点 8个8x8k的设计 8 16 32位的读写 低功耗bank core选择 单周期读写 dft bist测试 模块 包
  • Docker 部署学习(三),构建redis服务,并启用密码认证(基于docker pull redis)

    参考 docker官方redis文档 1 有特殊版本需求的可以查看redis镜像tag版本 2 选择最新版 latest docker pull redis latest 3 启动容器并设置密码 docker run name redis
  • 活动预告丨易盾CTO朱浩齐将出席2018 AIIA大会,分享《人工智能在内容安全的应用实践》

    本文来自网易云社区 对于很多人来讲 仿佛昨天才燃起来的人工智能之火 转眼间烧遍了各个角落 如今我们的生活中 处处渗透着人工智能 10月16日 2018年 AIIA人工智能开发者大会在苏州举办 网易云易盾CTO朱浩齐将出席本次大会 AI安全分
  • springboot整合log4j

    1 log4j文件
  • Maven和Tycho

    点进来读这篇文章的朋友 我假定你已经知道maven的基本知识 也知道Eclipse 知道Eclipse是基于OSGi 初步了解Eclipse插件开发或者说OSGi模块化开发 如果对这些知识不了解 甚至完全没有听过 那请绕开本文 Maven简
  • mysql连接不上数据库

    1 打开 DOS 窗口 输入 mysql 连接命令时 提示报错 Cannot connect to MySQL server on localhost 10061 如下图 2 上面问题原因 可能是本地服务没开 需要开启本地服务 按 Win
  • 高考扎推报网络安全专业,非科班的你还在观望等机会流失吗?

    又是一年高考季 在等待成绩出来的这段时间 所有考生和家长都在积极地研究着专业报考这个大难题 尤其是理工科 选好一个专业是非常重要的 专业对于普通家庭的孩子来说就是你安身立命的根本 今年的就业形势让家长们都绷紧了神经 大家都对专业选择更加的慎
  • unity3d : unity Editor 已停止工作

    问题 安装unity后打开unity就会出现 unity Editor 已停止运行 原因 1 如果是ghost win7 系统 这个系统不稳定 可以重装 win7旗舰版试一试 2 看看你的系统是不是64位sp1 如果不是的话 请安装sp1后
  • ES的嵌套查询和嵌套聚合

    1 想要实现嵌套查询和嵌套聚合 首先需要在索引里面设置某个属性是嵌套类型 一般是List type nested 2 API的demo 嵌套查询 使用场景 需要根据list中的两个字段以and的关系进行查询 构造布尔查询 BoolQuery
  • 论文报告中如何优雅的粘贴代码(表格版)

    在经过前两天的课设摧残后 总结一个粘贴代码的小方法 这里用的是表格填充式 我觉得还算美观 如果你想代码像下面这样保持高亮的话 一共两个方法 第一个是去网站上做高亮代码 代码在线高亮工具 将高亮美化的代码一键粘贴到 Word 或 OneNot
  • http 一次跨域请求出现 OPTIONS 请求的问题及解决方法

    在正式跨域的请求前 浏览器会根据需要 发起一个 PreFlight 也就是Option请求 用来让服务端返回允许的方法 如get post 被跨域访问的Origin 来源 或者域 还有是否需要Credentials 认证信息 三种场景 如果
  • 第七课:MAC去中心化钱包开发之首页

    一 前言 在上一讲中 我们创建了钱包账户 备份了私钥 但是我们还是无法使用它 最基础的功能就是登录钱包 查看钱包资产 转账 查看转账记录等等 今天我们先把登录和首页搭建好 二 登录页面 用到的合约 验证账户密码合约 调用示例 不再粘贴所有代
  • idea 运行scala报错 Error compiling sbt component 'compiler-interface-2.13.1-52.0'

    idea 运行scala报错 Error compiling sbt component compiler interface 2 13 1 52 0 刚开始学习scala 在idea里创建普通的maven项目后 并且加了scala的插件等
  • react+UmiJS+Antd Pro简介

    这里写目录标题 一 项目初始化 二 基本了解 2 1 路由配置 2 2 Html模板 2 3 Mock数据 2 4 DvaJS 2 5 运行时配置 2 6 Umi UI 三 项目优化 3 1 配置项 3 1 1 config ts 3 1
  • NSJSONSerialization介绍

    ios5中apple增加了解析JSON的api NSJSONSerialization 网上已经有人做过测试 NSJSONSerialization在效率上完胜SBJSON TouchJSON YAJL JSONKit NextiveJso
  • git stash用法

    常用git stash命令 1 git stash save save message 执行存储时 添加备注 方便查找 只有git stash 也要可以的 但查找时不方便识别 2 git stash list 查看stash了哪些存储 注意