git stash详细教程

在 Git 中使用 git stash暂存本地修改后,如果需要找回这些修改,可以通过以下步骤操作:


一、查看 stash 列表

首先,通过 git stash list查看所有暂存的记录,每个记录会显示索引号(如 stash@{0})、分支信息和提交哈希值:

复制代码
git stash list

输出示例:

复制代码
stash@{0}: WIP on master: 52b18ee Add new feature
stash@{1}: WIP on develop: 05c3f27 Fix bug

此步骤可帮助确认暂存记录的存在及顺序。


二、查看特定 stash 的内容

若需确认某个 stash 的具体修改内容,可使用:

复制代码
git stash show stash@{n}  # 查看概要
git stash show -p stash@{n}  # 查看完整差异(补丁格式)

例如:

复制代码
git stash show -p stash@{0}

这会显示该 stash 中所有修改的文件及具体变更内容。


三、恢复 stash 中的修改

1. 恢复最新 stash
复制代码
git stash apply  # 应用最新 stash,保留记录
git stash pop    # 应用并删除最新 stash
2. 恢复指定 stash

通过索引号恢复特定记录:

复制代码
git stash apply stash@{n}  # 应用但不删除
git stash pop stash@{n}    # 应用并删除

例如恢复 stash@{1}

复制代码
git stash apply stash@{1}

恢复后,修改会回到工作区,需手动提交。


四、处理恢复冲突

若恢复时出现冲突(如后续修改与 stash 内容重叠),需手动解决:

  1. 打开冲突文件,按 <<<<<<<=======>>>>>>>标记编辑内容。

  2. 执行 git add <文件>标记冲突已解决。

  3. 提交修改:git commit


五、特殊情况处理

1. 恢复被清除的 stash

若误执行 git stash clear清空记录,可尝试:

复制代码
git fsck --lost-found  # 查找未引用的对象
git log --graph --oneline --decorate $(git fsck --no-reflog | awk '/dangling commit/ {print $3}')

根据输出的提交哈希值,手动恢复:

复制代码
git checkout <commit-hash> -- <文件路径>

此方法适用于找回已丢失的 stash 内容。

2. 恢复单个文件

若需从 stash 中提取特定文件:

复制代码
git checkout stash@{n} -- <文件路径>

例如恢复 src/main.js

复制代码
git checkout stash@{0} -- src/main.js

此操作不会影响其他文件。


六、最佳实践建议

  1. 添加描述信息 :暂存时通过 -m参数添加注释,便于后续识别:

    复制代码
    git stash save "描述信息"
  2. 定期清理 :使用 git stash drop删除无用记录,或 git stash clear清空全部。

  3. 分支操作:复杂场景下,可基于 stash 创建新分支调试:

    复制代码
    git stash branch <分支名> stash@{n}

通过以上步骤,可高效找回和管理 git stash中的本地修改。若需进一步操作细节,可参考 Git 官方网页或相关教程。

相关推荐
GIS数据转换器23 分钟前
智慧灌区管理平台
大数据·服务器·网络·数据库·人工智能·生活
STLearner1 小时前
ICML 2026 | LLM×Graph论文总结[2]【Graph4LLM,Graph4Agent,智能体记忆(Memory)
大数据·人工智能·python·深度学习·学习·机器学习·数据挖掘
ACP广源盛139246256732 小时前
此芯 P1 AI BOX / AI NAS@ACP#IX8008、IX8024 应用场景与市场机会
大数据·人工智能·分布式·单片机·嵌入式硬件
企业老板ai培训9 小时前
破解中小企业AI变现难:2026年企业AI培训与陪跑行业趋势深度报告,为何从‘陪跑’到‘变现’才是关键?
大数据·人工智能
aax121345310 小时前
VOC 集群治理工程实操|美丽蓝天绿岛项目 RTO 工艺选型、管控方案与申报要
大数据·数据库·人工智能
海纳百川·纳海川10 小时前
数字化升级,让废品回收更简单高效
大数据·微信小程序·小程序
码农学院11 小时前
基于Spring Boot的跨境电商多语言订单管理系统架构设计
java·大数据·spring boot
l1564694812 小时前
突围!图文混合知识库难以解析,Kimi-K3 原生视觉架构深耕知识工作,DMXAPI 统一接口,缩短项目开发周期
java·大数据·开发语言
QN1幻化引擎12 小时前
两个 AI 互相“创造自己“:Dalin X × Dalin L 自创造闭环全记录
大数据·人工智能
悟天特斯14 小时前
智慧楼宇AI节能:从数据采集到智能决策的全链路实践
大数据·人工智能