git stash 缓存代码相关操作

1.基本用法

1.1保存当前代码

复制代码
git stash

作用:将当前工作目录中的所有未提交的更改(包括暂存区和工作区的更改)保存到一个"stash"中,并将工作目录恢复到最近一次提交的状态。

1.2 保存更改并添加描述

arduino 复制代码
git stash save "描述信息"

作用:保存当前更改,并为 stash 添加描述信息,方便后续查找。

示例

arduino 复制代码
git stash save "临时保存未完成的特性"

2. 查看所有保存的 Stash

复制代码
git stash list

作用:列出所有保存的 stash,显示每个 stash 的名称、描述和保存时的分支信息。

输出示例:

less 复制代码
stash@{0}: WIP on main: commit-hash 描述信息
stash@{1}: WIP on feature: commit-hash 另一个描述

3. 恢复 Stash

3.1 恢复最新的 Stash

perl 复制代码
git stash pop

**作用:**将最新的 stash 应用到当前工作目录,并从 stash 列表中删除该 stash。

**注意:**如果有冲突,Git 会提示冲突信息,需要手动解决。

3.2 恢复指定的 Stash

kotlin 复制代码
git stash apply stash@{索引}
// 可能会发生报错,需要加上'',后续需要指定stash的都是如此
git stash apply 'stash@{索引}'

**作用:**将指定的 stash 应用到当前工作目录,但不会从 stash 列表中删除。

示例:

kotlin 复制代码
git stash apply stash@{1}
// or
git stash apply 'stash@{1}'

3.3 恢复并删除指定的 Stash

kotlin 复制代码
git stash pop stash@{索引}

**作用:**将指定的 stash 应用到当前工作目录,并从 stash 列表中删除。

示例:

perl 复制代码
git stash pop stash@{1}
// or
git stash pop 'stash@{1}'

4. 删除 Stash

4.1 删除最新的 Stash

sql 复制代码
git stash drop

**作用:**删除最新的stash

4.2 删除指定的 Stash

kotlin 复制代码
git stash drop stash@{索引}

**作用:**删除指定的stash

用例:

kotlin 复制代码
git stash drop stash@{1}
// 
git stash drop 'stash@{1}'

4.3 清空所有 Stash

arduino 复制代码
git stash clear

**作用:**删除所有保存的stash

5. 查看 Stash 的内容

5.1 查看最新的 Stash

sql 复制代码
git stash show

**作用:**显示最新的 stash 中的更改。

5.2 查看指定的 Stash

kotlin 复制代码
git stash show stash@{索引}

作用:显示指定 stash 的更改。

5.3 查看 Stash 的详细内容

css 复制代码
git stash show stash@{索引} -p

**作用:**以补丁的形式显示指定 stash 的详细更改。

6. 常见场景

6.1 切换分支前保存更改

当你正在工作时,需要切换到另一个分支,但不想提交当前的更改:

复制代码
git stash
git checkout other-branch

6.2 恢复更改并继续工作

当你完成其他任务后,回到原来的分支并恢复更改:

perl 复制代码
git checkout original-branch
git stash pop

6.3 清理工作目录

如果你发现某个 stash 已经不再需要,可以直接删除:

kotlin 复制代码
git stash drop stash@{索引}
相关推荐
hh随便起个名1 小时前
适合小白的git的基础使用方法
git
我会一直在的2 小时前
Devps持续集成
git·ci/cd
CoderJia程序员甲3 小时前
GitHub 热榜项目 - 日榜(2026-02-08)
git·ai·开源·llm·github
Serene_Dream4 小时前
git 常用命令
git
jiayong234 小时前
Detached HEAD 状态详解
git
李少兄14 小时前
在 IntelliJ IDEA 中修改 Git 远程仓库地址
java·git·intellij-idea
先跑起来再说19 小时前
Git 入门到实战:一篇搞懂安装、命令、远程仓库与 IDEA 集成
ide·git·后端·elasticsearch·golang·intellij-idea
承渊政道1 天前
Linux系统学习【Linux系统的进度条实现、版本控制器git和调试器gdb介绍】
linux·开发语言·笔记·git·学习·gitee
Doro再努力1 天前
【Linux操作系统12】Git版本控制与GDB调试:从入门到实践
linux·运维·服务器·git·vim
摇滚侠1 天前
MAC IDEA GIT 提交区显示了几个不存在的目录
git·idea