git stash 正确用法

目录

一、背景

二、使用

[2.1 使用之前,先简单了解下 git stash 干了什么:](#2.1 使用之前,先简单了解下 git stash 干了什么:)

[2.2 git stash 相关命令](#2.2 git stash 相关命令)

[2.3 使用流程](#2.3 使用流程)

[1. 执行 `git stash`](#1. 执行 git stash)

[2. 查看刚才保存的工作进度 `git stash list`](#2. 查看刚才保存的工作进度 git stash list)

[3. 这时候在看分支已经是干净无修改的(改动都有暂存到 stash)](#3. 这时候在看分支已经是干净无修改的(改动都有暂存到 stash))

[4. 现在就可以正常切换到目标分支,进行相应操作](#4. 现在就可以正常切换到目标分支,进行相应操作)

[5. 其他分支处理完成,再切回来使用刚才的 stash, 还是先查看 暂缓列表](#5. 其他分支处理完成,再切回来使用刚才的 stash, 还是先查看 暂缓列表)

[6. 选择使用暂缓 `git stash apply n`](#6. 选择使用暂缓 git stash apply n)


一、背景

我们经常会遇到这样的情况:

在一个分支开发新功能,还没开发完毕,做到一半时有反馈紧急bug需要处理,但是新功能开发了一半又不想提交。

这时就可以使用 git stash

二、使用

2.1 使用之前,先简单了解下 git stash 干了什么:

它会保存当前工作进度,会把暂存区和工作区的改动保存到一个未完结变更的堆栈中;执行完这个命令后,在运行 git status 命令,就会发现当前是一个干净的工作区,没有任何改动。

  1. git stash 是本地的,不会上传到服务器上;
  2. 可以使用 git stash save 'message...' 添加一些注释。

2.2 git stash 相关命令

2.3 使用流程

一般先使用 git stash list 查看有没有已经 stash 的记录,避免和自己的混淆,到时候使用时不知道是哪条记录

查看有无用的 list,可以先使用 git stash drop n 删除,直到 list 为空

1. 执行 `git stash`

默认是不带注释的,想要后面看的更清楚该 stash 是存储的什么,可以如下操作:

执行 `git stash save "commend"`

2. 查看刚才保存的工作进度 `git stash list`

保存注释的长这样:

可以看到 stash@{0} 是刚才保存的

3. 这时候在看分支已经是干净无修改的(改动都有暂存到 stash)

4. 现在就可以正常切换到目标分支,进行相应操作

5. 其他分支处理完成,再切回来使用刚才的 stash, 还是先查看 暂缓列表

6. 选择使用暂缓 `git stash apply n`

注:n 是序号,如下图红色箭头指示

相关推荐
挖掘狂人19 小时前
Git 从 0 到 1:用一个小项目走完 add / commit / reset / merge / rebase / push
git·后端·github
codigger20 小时前
Git 三区域模型:把 add、commit、reset、merge 一次讲透
git·github·编程·编程语言
水饺编程20 小时前
第1章:开发环境搭建,在 Windows 中安装 Git
linux·c语言·汇编·git·ubuntu
idanzk20 小时前
Git 推送 GitHub 报 SSL_READ /src refspec main 不匹配 完整踩坑记录
git·github·ssl
星恒随风1 天前
Linux开发工具详解(二):Git版本控制、GitHub协作与GDB调试实战
linux·笔记·git·学习·github
寺中人2 天前
Xshell 完全入门指南:从安装到实战,远程连接+文件传输+会话管理全拆解
git·ssh·github·php·远程连接·xshell·运维工具
酬谢神明则必安2 天前
git学习记录01
linux·git·学习
lingchen19062 天前
版本控制 Git源代码项目管理
git
虫无涯2 天前
Coverity 如何结合 GJB8114-2013使用?
git·单元测试·嵌入式测试·coverity·静态扫描
喵本喵叁肆2 天前
Git 深度解读:从对象模型到分支指针,把版本控制的内核讲透
git