git stash 命令详解

git stash 功能

当正在dev分支上开发某个项目,这时项目中出现一个bug,需要紧急修复,但是正在开发的内容只是完成一半,还不想提交,这时可以用git stash命令将修改的内容保存至堆栈区,然后顺利切换到hotfix分支进行bug修复,修复完成后,再次切回到dev分支,从堆栈中恢复刚刚保存的内容。

命令详解

1、将代码添加到堆栈区
shell 复制代码
git stash save "我是注释"

# 如果不想写注释,可以直接这样写,git会自动生成一个注释
git stash
2、查看stash中的内容

此命令可以查看已保存到堆栈区的stash列表

复制代码
git stash list

结果如下

复制代码
D:\java_project\xxx-service>git stash list
stash@{0}: WIP on develop: 1380db3 Merge remote-tracking branch 'origin/develop' into develop
3、恢复

恢复暂存时的状态有两种命令:

  • git stash pop :恢复后,会将stash列表中的信息进行删除。
  • git stash apply :恢复后,stash列表中的信息是会继续保留的.
3.1 pop 弹出
复制代码
# 将当前stash中的最近添加的内容弹出,因为是栈嘛,所以遵循先进后出的原则
git stash pop

# 如果列表中有多个stash,可以用以下命令弹出指定的行, 其中 stash@{0} 就相当于是索引
git stash pop stash@{0}
3.2、apply 恢复
复制代码
# 将当前stash中的最近添加的内容恢复,因为是栈嘛,所以遵循先进后出的原则
git stash apply

# 如果列表中有多个stash,可以用以下命令恢复指定的行, 其中 stash@{0} 就相当于是索引
git stash apply stash@{0}
4、清除
复制代码
# 删除某个暂存,暂存记录保存在list内,需要通过list索引index取出恢复
git stash drop stash@{index}

# 清除堆栈区所有的stash
git stash clear
5、查看改动
复制代码
# 显示做了哪些改动,默认show第一个存储,如果要显示其他存贮,后面加stash@{$num},比如第二个 git stash show stash@{1}
git stash show 

# 显示第一个存储的改动,如果想显示其他存存储,命令:git stash show  stash@{$num}  -p ,比如第二个:git stash show  stash@{1}  -p
git stash show -p
相关推荐
考虑考虑7 小时前
docker compose环境变量替换
运维·后端·自动化运维
Java陈序员8 小时前
轻量运维面板!一款现代化的服务器控制面板工具!
运维·服务器·python·react.js·github
bosins8 小时前
WSL 迁移指南:如何将 Linux 环境完整复制到另一台电脑
linux·运维·服务器
IT利刃出鞘8 小时前
Docker Compose--安装WordPress--方法/示例
运维·docker·容器
企鹅的蚂蚁9 小时前
LubanCat RK3588 实时 Linux 开发(六):启用 gs_usb 驱动并完成 USB-CAN 收发
linux·rk3588·linux驱动·socketcan·gs_usb·usb-can
2601_9622998810 小时前
Linux执行Python脚本方法
linux·python·脚本·解释器·shebang
snow@li10 小时前
服务器运维:Linux命令速查手册(全景梳理)
linux·服务器·网络
handler0110 小时前
【Linux】线程与虚拟内存的底层世界
linux·运维·服务器·c++·线程·虚拟地址空间·共享内存
新时代牛马10 小时前
实时 Linux:PREEMPT_RT、延迟来源与观测
linux·运维·服务器
微露清风11 小时前
# Linux 进程全景:从 PCB 到 O(1) 调度队列
linux·服务器