git stash 用法总结

目录

  • 1,介绍
    • 场景1:
    • 场景2:
  • 2,常用命令
    • 2.1,基础
    • 2.2,进阶
      • 1,存储时指定备注
      • 2,通过索引来操作指定的存储
      • 3,修改存储规则
    • 2.3,查看 stash 修改的具体内容

1,介绍

场景1:

如果正在A分支做开发,但 B 分支的代码测出bug需要修改,所以需要从A分支切换到B分支。

此时可这样处理:在A分支 add + commit 之后,再切换到 B 分支。但这样做有2个问题:

  1. 增加了不必要的 commit,虽然之后可以通过 git commit --amend 来修改,
  2. A 分支的功能写了一半,此时 commit,到时再切换回 A 分支时还得查看 commit 才能知道之前修改的内容,比较麻烦。

场景2:

在 A 分支开发到一半发现使用错分支了,应该在 B 分支开发,需要将当前已修改的内容得全部平移到B分支,同时不影响当前分支和版本库。


上面的情况,最好用的办法就是 stashes 存储栈,它的所有操作不会影响到版本库。

2,常用命令

stashes 存储栈,遵循后进先出

2.1,基础

# 查看帮助(所有命令列表)
git stash -h
# 将当前工作区和暂存区的代码存储到 stashes栈中。
git stash
# 取出最近的一条 stash,并在 stashes 栈中删除。
git stash pop
# 取出最近的一条 stash,stashes 栈中不删除。
git stash apply

# 不取出,直接在 stashes 栈中删除最近的一条 stash
git stash drop

所以,git stash pop = git stash apply + git stash drop

# 查看 stashes 列表
git stash list
# 清空 stashes 栈
git stash clear

所以,

场景1,可以直接在 A 分支执行 git stash,在 B 分支开发完之后再切换到 A 分支,执行 git stash pop 即可。

场景2,可以直接在 A 分支执行 git stash,切换到 B 分支后执行 git stash pop 即可。

2.2,进阶

1,存储时指定备注

git stash save 测试stash
# or
git stash push -m 测试stash

缺图查看效果

2,通过索引来操作指定的存储

# 操作 stash@{1}
git stash pop 1
# or 这里一定要加引号,否则报错。
git stash pop "stash@{1}"

git stash applygit stash drop 同理。

3,修改存储规则

默认存储规则:不包括工作区新增文件(未被跟踪的文件)和 .gitignore 忽略的文件,包括工作区和暂存区的修改。

  1. -u--include-untracked 表示包括未被跟踪的文件。
git stash save 备注 -u
  1. -a--all 表示包括 .gitignore 忽略的文件。
git stash save 备注 -a
  1. -k--keep-index 表示不包括暂存区的修改。
git stash save 备注 -k

2.3,查看 stash 修改的具体内容

查看命令 git stash show 并没有介绍,是因为 vscode 自带的版本管理非常好用,可以详细的查看每个 stash 做了哪些修改。

可以看到不止是 stashes,每条 commit 也能随时查看。

在这里插入图片描述


以上。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

一点DETR学习

DETR: 主要是为了学习query。 主要从两个方面:加偏好和缩短序列长度

minio集群部署(k8s内)

一、前言 minio的部署有几种方式,分别是单节点单磁盘,单节点多磁盘,多节点多磁盘三种方式,本次部署使用多节点多磁盘的方式进行部署,minio集群多节点部署最低要求需要4个节点,集群扩容时也是要求扩容的节点…

HTTP四大参数类型及请求参数的方式和如何接收

HTTP 请求中4大参数类型和接收方法。 1、请求头参数head 请求头参数顾名思义,是存放在请求头中发送给服务器的参数,服务器通过解析请求头获取参数内容。通常会存放本次请求的基本设置,以帮助服务器理解并解析本次请求的body体。 参数形式如…

中职组网络安全B模块-渗透提权2

任务五:渗透提权2 任务环境说明: 仅能获取xxx的IP地址 用户名:test,密码:123456 访问服务器主机,找到主机中管理员名称,将管理员名称作为Flag值提交; Flag:doyoudoyoudo 访问服…

Hadoop学习笔记:运行wordcount对文件字符串进行统计案例

文/朱季谦 我最近使用四台Centos虚拟机搭建了一套分布式hadoop环境,简单模拟了线上上的hadoop真实分布式集群,主要用于业余学习大数据相关体系。 其中,一台服务器作为NameNode,一台作为Secondary NameNode,剩下两台当…

[数据结构]-AVL树

前言 作者:小蜗牛向前冲 名言:我可以接受失败,但我不能接受放弃 如果觉的博主的文章还不错的话,还请点赞,收藏,关注👀支持博主。如果发现有问题的地方欢迎❀大家在评论区指正 目录 一、AVL树基…

VR全景:赋能城市园区建设,打造3DVR城市名片

近年来,很多城市都在大力发展数字化经济建设,以VR全景技术赋能现代化城市和园区建设,为城市园区展示带来了全新的可能性。借助3D、VR技术把现实城市和园区搬到互联网上进行全方位展示,将城市园区的形象、景观、规划布局等1&#x…

2023年亚太地区数学建模大赛 问题B

玻璃温室中的微气候法规 温室作物的产量受到各种气候因素的影响,包括温度、湿度和风速[1]。其中,适宜的温度和风速是植物生长[2]的关键。为了调节玻璃温室内的温度、风速等气候因素,温室的设计通常采用带有温室风扇的通风系统,如…

从零开始的c语言日记day36——指针进阶

一、什么是指针: 指针的概念:1.指针就是个变量,用来存放地址,地址唯一标识一块内存空间。 ⒉指针的大小是固定的4/8个字节(32位平台/64位平台)。 指针是有类型,指针的类型决定了指针的-整数的步长,指针解引用操作的时候的权限。…

mysql中数据是如何被用B+树查询到的

innoDB是按照页为单位读写的 那页中有很多行数据,是怎么执行查询的呢,首先我们肯定,是以单向列表形式存储的,提高了增删的效率,但是查询效率低。所以实际上对页中的行数据进行了优化,能以二分的方式进行查…

FeignClient相关调用逻辑

https://www.cnblogs.com/chiangchou/p/feign.html#_label3_2

安卓隐私指示器学习笔记

最近了解到Google 在Android12上新增了权限指示器,可以在信号栏的右侧显示当前访问录音机和Camera的应用,点击后可以跳转到相应应用的权限界面,消费者可以控制权限的开启和关闭。国内手机厂商最近几年都在增加隐私看板供能,消费者…

【css】Google第三方登录按钮样式修改

文章目录 场景前置准备修改样式官方属性修改样式CSS修改样式按钮的高度height和border-radiusLogo和文字布局 场景 需要用到谷歌的第三方登录,登录按钮有自己的样式。根据官方文档:概览 | Authentication | Google for Developers,提供两种第…

Spark的通用运行流程与Spark YARN Cluster 模式的运行流程

Spark的通用运行流程 集群启动后Worker节点会向Master节点心跳汇报资源Client向Driver提交APP,根据不同的运行模式在不同的地方创建Driver。Driver以粗粒度的方式向Master注册应用并申请资源(在Application执行之前,将所有的资源申请完毕&…

创作4周年

🙌秋名山码民的主页 😂oi退役选手,Java、大数据、单片机、IoT均有所涉猎,热爱技术,技术无罪 🎉欢迎关注🔎点赞👍收藏⭐️留言📝 获取源码,添加WX 目录 前言机…

C语言指针相关练习题

​ C语言指针相关练习题 文章目录 C语言指针相关练习题题目一题目二题目三题目四题目五题目六题目七 题目一 #include <stdio.h> int main() {int a[5] { 1, 2, 3, 4, 5 };int *ptr (int *)(&a 1);printf( "%d,%d", *(a 1), *(ptr - 1));return 0; }…

使用Python画一棵树

&#x1f38a;专栏【不单调的代码】 &#x1f354;喜欢的诗句&#xff1a;更喜岷山千里雪 三军过后尽开颜。 &#x1f386;音乐分享【如愿】 &#x1f970;欢迎并且感谢大家指出我的问题 文章目录 &#x1f339;Turtle模块&#x1f384;效果&#x1f33a;代码&#x1f6f8;代码…

城市生命线丨桥梁健康结构监测系统作用如何

截至2022年底&#xff0c;我国拥有公路桥梁103.3万座&#xff0c;总长约8576万延米&#xff0c;其中特大桥8816座&#xff0c;总长约1621万延米。 为了确保这些桥梁的安全&#xff0c;需要进行定期的检测和维护&#xff0c;及时发现和解决桥梁存在的问题。 同时&#xff0c;政…

杭电oj 2064 汉诺塔III

#include <stdio.h>void main() {int n, i;long long sum[35] { 2,8,26 };for (i 3; i < 35; i)sum[i] 3 * sum[i - 1] 2;while (~scanf_s("%d", &n))printf("%lld\n", sum[n - 1]); }

9.4 Windows驱动开发:内核PE结构VA与FOA转换

本章将继续探索内核中解析PE文件的相关内容&#xff0c;PE文件中FOA与VA,RVA之间的转换也是很重要的&#xff0c;所谓的FOA是文件中的地址&#xff0c;VA则是内存装入后的虚拟地址&#xff0c;RVA是内存基址与当前地址的相对偏移&#xff0c;本章还是需要用到《内核解析PE结构导…