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 是序号,如下图红色箭头指示

相关推荐
我的golang之路果然有问题1 小时前
给git配置SSH(github,gitee)
经验分享·笔记·git·学习·gitee·ssh·github
漫步企鹅2 小时前
[Git] Git Stash 命令详解
git·git push·git pull·git commit·git pull rebase
船长@Quant4 小时前
协作开发攻略:Git全面使用指南 — 第二部分 高级技巧与最佳实践
git·版本控制·源代码管理·协作开发
用户12653838705126 小时前
github 和 gitee 配置问题及相关问题解决
git·github
极小狐7 小时前
极狐GitLab Git LFS 速率限制如何设置?
运维·git·ssh·gitlab·github
极小狐7 小时前
如何解决极狐GitLab 合并冲突?
人工智能·git·机器学习·gitlab
一袋米扛几楼987 小时前
【GIT】github中的仓库如何删除?
git·github
hjm47021928 小时前
GIT 使用小记
git
程序猿chen17 小时前
JVM考古现场(二十五):逆熵者·时间晶体的永恒之战(进阶篇)
java·jvm·git·后端·程序人生·java-ee·改行学it
biubiubiu070620 小时前
git提交
git