当前位置: 首页 > news >正文

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 官方网页或相关教程。

http://www.cnnetsun.cn/news/181690.html

相关文章:

  • LeaguePrank:英雄联盟客户端显示信息自定义工具详解
  • XUnity.AutoTranslator:让Unity游戏秒变中文的免费神器
  • 终极指南:如何利用XUnity.AutoTranslator实现Unity游戏实时翻译
  • 华硕笔记本性能优化全攻略:5分钟学会硬件精准调校
  • 在Odoo18中实现多选下拉框搜索功能
  • 【2026年AI手机智能体爆发前夜】:揭秘下一代智能终端的5大核心技术突破
  • Unity翻译插件终极指南:XUnity Auto Translator让你轻松实现游戏本地化
  • G-Helper终极指南:华硕笔记本性能优化利器
  • 终极指南:如何用XUnity.AutoTranslator一键翻译任何Unity游戏
  • HsMod完整配置教程:轻松解锁炉石传说55项隐藏功能
  • DownKyi:B站视频下载与格式转换的智能解决方案
  • XUnity.AutoTranslator终极指南:打造完美Unity游戏多语言解决方案
  • XUnity.AutoTranslator:打破语言障碍的Unity游戏翻译神器
  • G-Helper完整使用手册:轻松掌控华硕笔记本性能的免费神器
  • 哔哩下载姬DownKyi:从零开始打造个人B站视频资源库
  • 哔哩下载姬DownKyi完整使用手册:从入门到精通的高效下载方案
  • ViGEmBus控制器模拟:从零掌握Windows驱动开发核心技术
  • 如何快速掌握哔哩下载姬:新手用户的完整下载指南
  • 专业级B站视频下载工具:高效获取超高清内容的终极方案
  • springboot基于知识图谱与学习行为分析的在线学习平台开发_st29rl81
  • B站视频下载工具DownKyi终极指南:从零开始掌握高效下载技巧
  • 终极指南:5分钟学会用Scarab模组管理器轻松安装空洞骑士MOD
  • ViGEmBus虚拟手柄驱动终极使用指南:解决游戏兼容性难题的完整方案
  • 揭秘Open-AutoGLM核心机制:如何在电商系统中实现自动化比价?
  • Open-AutoGLM如何实现量子通信零延迟适配?三大核心技术首度曝光
  • Open-AutoGLM脑机接口安全风险警示:3个必须防范的隐私漏洞
  • 【独家深度解析】Open-AutoGLM背后的10项核心技术突破
  • 收藏!35+程序员转型AI全攻略:避开年龄焦虑,开启高薪新赛道
  • Open-AutoGLM实战指南:3步打通社区间AI服务链路
  • 为什么顶尖实验室都在用Open-AutoGLM处理单细胞RNA-seq数据?