Git系列:Git Stash临时保存与恢复工作进度


在这里插入图片描述
💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
在这里插入图片描述

  • 推荐:「stormsha的主页」👈,持续学习,不断总结,共同进步,为了踏实,做好当下事儿~
  • 专栏导航
    • Python面试合集系列:Python面试题合集,剑指大厂
    • GO基础学习笔记系列:记录博主学习GO语言的笔记,该笔记专栏尽量写的试用所有入门GO语言的初学者
    • 数据库系列:详细总结了常用数据库 mysql 技术点,以及工作中遇到的 mysql 问题等
    • 运维系列:总结好用的命令,高效开发
    • 算法与数据结构系列:总结数据结构和算法,不同类型针对性训练,提升编程思维

非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨

💖The Start💖点点关注,收藏不迷路💖

📒文章目录

  • Git Stash:临时保存与恢复工作进度
    • 什么是Git Stash
    • Git Stash 参数
    • 基本用法
      • 保存进度
      • 列出所有Stash
      • 应用Stash
      • 删除Stash
      • 应用并从列表中移除Stash
    • 高级用法
      • 保存并清除工作目录
      • 保存时排除特定文件
      • 应用Stash到其他分支
    • 注意事项
    • 结语


在这里插入图片描述

Git Stash:临时保存与恢复工作进度

在Git的使用过程中,我们经常会遇到需要临时切换分支或者需要重置工作目录以开始新的工作的情况。这时,如果我们的工作尚未完成,但又不想立即提交,git stash命令就显得非常有用了。本文将详细介绍git stash的使用方法和相关操作。

什么是Git Stash

git stash是一个用于临时保存当前工作进度的命令。当你需要切换到另一个分支,或者需要一个干净的工作目录来应用某些补丁时,可以使用git stash将当前的工作进度保存起来,待以后恢复。

Git Stash 参数

  • save:保存当前的工作进度到stash列表。
  • listls:列出当前的stash列表。
  • show:显示某个stash的详细信息。
  • apply:应用stash列表中的某个stash到当前工作目录。
  • pop:应用stash并从stash列表中移除它。
  • drop:从stash列表中删除某个stash。
  • clear:清空stash列表。
  • -u, --include-untracked:同时保存未跟踪的文件。
  • -k, --keep-index:保存更改但保持索引不变。
  • -p, --patch:交互式选择stash中的变化来应用。
  • -d, --delete:删除工作进度,即使没有stash。
  • create:创建一个新的stash(不常用,通常使用 save)。
  • move:将一个stash从列表中移动到另一个位置。
  • -q, --quiet:静默模式,不显示进度信息。
  • apply:应用stash到当前工作目录。
  • pop:应用stash并从stash列表中移除。
  • list:列出所有stash。
  • show:展示stash的内容。
  • drop:从stash列表中删除特定的stash。
  • clear:清空stash列表。
  • branch:为stash创建一个新的分支。
  • --message:为stash条目添加一个消息。
  • --include-untracked:同时保存未跟踪的文件。
  • --keep-index:保存更改但保持索引不变。
  • --patch:交互式选择stash中的变化来应用。
  • --index-info:显示stash中的索引信息。
  • --no-apply:仅保存stash,但不应用它。
  • --no-stash:不保存stash,仅显示stash信息。
  • --no-trunc:不截断消息,显示完整的stash信息。

基本用法

保存进度

当你想要保存当前的工作进度时,可以使用以下命令:

git stash save "your message"

这里的"your message"是可选的,用于描述这次stash的上下文,便于将来识别。

列出所有Stash

要查看当前所有的stash列表,可以使用:

git stash list

应用Stash

当你需要恢复之前保存的工作进度时,可以使用:

git stash apply "stash@{n}"

其中stash@{n}表示stash列表中的第n个stash,n是从0开始的索引。

删除Stash

如果不再需要某个stash,可以使用以下命令删除:

git stash drop "stash@{n}"

应用并从列表中移除Stash

如果你想要应用stash并且立即将其从stash列表中移除,可以使用:

git stash pop "stash@{n}"

高级用法

保存并清除工作目录

如果你想要保存进度并且立即清理工作目录,可以使用:

git stash save --include-untracked "your message"

这个命令会保存未跟踪的文件,并且将工作目录恢复到上一个提交的状态。

保存时排除特定文件

如果你想要保存进度,但是排除某些特定文件,可以使用:

git stash save --keep-index

这个命令会保存修改和未跟踪的文件,但是不会重置索引。

应用Stash到其他分支

如果你想要将一个stash应用到另一个分支,可以首先切换到目标分支,然后使用apply命令。

注意事项

  • 使用git stash时,最好提供一条有意义的信息,这样在列出stash列表时可以更容易地识别每个stash。
  • 如果你不确定是否需要保存未跟踪的文件,可以使用--include-untracked选项。
  • 频繁使用git stash可能会导致stash列表变得混乱,定期清理不再需要的stash是个好习惯。

结语

git stash是一个非常实用的Git特性,它允许你临时保存工作进度,而不影响当前的工作目录。通过本文的介绍,你应该对git stash有了更深入的理解。在实际工作中,合理使用git stash可以大大提高你的工作效率。


❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏、分享下吧,非常感谢!👍 👍 👍

🔥🔥🔥道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

💖The End💖点点关注,收藏不迷路💖

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

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

相关文章

超越传统游戏:生成式人工智能对游戏的变革性影响

人工智能(AI)在游戏中的应用 游戏产业是一个充满活力、不断发展的领域,人工智能(AI)的融入对其产生了重大影响。这一技术进步彻底改变了游戏的开发、玩法和体验方式。本文分析的重点是传统人工智能和生成式人工智能在游…

通讯录项目—顺序表实现

在上次我介绍顺序表后相信大家对顺序表有了一定的了解,现在就让我们来练练如何用它,这篇是在顺序表基础上新增的(建议看看线性表—顺序表实现-CSDN博客)。 目录 通讯录简介 创建用户信息 适配和理解通讯录 功能实现 初始化通讯录 销毁通讯录 增加…

java回调机制

目录 一、简介二、示例2.1 同步回调2.2 异步回调2.3 二者区别 三、应用场景 一、简介 在Java中,回调是一种常见的编程模式,它允许一个对象将某个方法作为参数传递给另一个对象,以便在适当的时候调用该方法。 以类A调用类B方法为例: 在类A中…

暗区突围国际服pc端海外版新手前期如何赚钱 暗区突围新手教学

暗区突围国际服pc端海外版新手前期如何赚钱 暗区突围新手教学 暗区突围是一款极为惊险的射击游戏,让玩家充分感受紧张激烈的战斗以及获取财富的过程。但是有许多新手玩家是不会在游戏里赚钱的,也会在赚钱过程中遇到很多问题,我将在这篇文章…

百度云内容审核快速配置 (java)

为什么要选择百度云 ? 因为他免费用一年 首先要先开通百度云内容安全服务 按照操作指引走完整套 ContentCensor Java SDK目录结构** com.baidu.aip├── auth //签名相关类├── http //Http通…

BACnet转MQTT网关智联楼宇json格式自定义

智能建筑的BACnet协议作为楼宇自动化领域的通用语言,正逐步迈向更广阔的物联网世界。随着云计算和大数据技术的飞速发展,如何将BACnet设备无缝融入云端生态系统,成为众多楼宇管理者关注的焦点。本文将以一个实际案例,揭示BACnet网…

DJANGO_PART 1

DJANGO_PART 1 文章目录 DJANGO_PART 11. 安装DJANGO2. 创建项目3. APP概念4. 快速上手5. templates6. 引入其它静态文件7. 模板语法8. 请求与响应 1. 安装DJANGO 安装语句:pip install django 2. 创建项目 django中项目会有一些默认的文件和默认的文件夹 终端创建…

在ubuntu虚拟机中手动安装VMware Tools(VMware Workstation 17 player)

可参考官方文档:在 Linux 虚拟机中手动安装 VMware Tools 以下列出我在安装过程中遇见的问题: 1、“安装VMware Tools”选项为灰,无法选中 原因是VMware Tools的安装包镜像在Player的安装目录下,需要在虚拟机启动的时候加载这个…

【Linux】常用基本指令

目录 食用说明 用户管理 whoami/who clear tree 目录结构和路径 pwd ls 文件 隐藏文件 常用选项 cd 家目录、根目录、绝对路径和相对路径 touch 常用选项 mkdir rmdir/rm man cp mv cat nano echo 输出重定向 > 输入重定向 < more/less head/…

国科大深度学习期末历年试卷

本文借鉴 国科大深度学习复习 深度学习期末 深度学习2020 一&#xff0e;名词解释&#xff08;每个2分&#xff0c;共10分&#xff09; 深度学习&#xff0c;稀疏自编码器&#xff0c;正则化&#xff0c;集成学习&#xff0c;Dropout 二&#xff0e;简答题&#xff08;每题…

第18讲:Ceph集群CrushMap的核心概念、默认规则与完整定义

文章目录 1.CrushMap核心概念2.集群默认的CrushMap规则剖析2.1.CrushMap列表显示内容剖析2.2.对默认的CrushMap规则进行深度的剖析2.3.完整的CrushMap定义信息 1.CrushMap核心概念 CrushMap官方文档&#xff1a;https://docs.ceph.com/en/pacific/rados/operations/crush-map/…

nlp课设 - 基于BERT 的情感分类

基于BERT 的情感分类 主要论文&#xff1a; BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding&#xff08;双向Transformer 的预训练&#xff09; 核心技术&#xff1a; Embedding 、Attention --> Transformer 任务简介、拟解决问题…