Bug: git stash恢复误drop的提交

Bug: git stash恢复误drop的提交

前几天在写ut时突然需要通过本地代码临时出一个包,但是本地ut又不想直接作为一个commit提交,所以为了省事就将ut的代码暂时stash起来。出完包后想apply stash,但是手误操作点成了drop stash,丢失了之前stash的代码。后来通过一顿猛操作摸索,成功恢复丢失的代码。

1 stash本地代码

这是我本地修改的代码,现在我通过goland将它stash起来

选中目录,右键 - git - Stash Changes

为此次stash添加一个备注信息:

create stash成功之后,我们开始的修改就都没了:

2 drop stash

本地出完包后,想要应用之前stash的代码:

  • 选中对应目录 - Git - Unstash Changes

原本我们应该选中之前的stash点击右下角的apply stash,但是由于误操作,点成了右侧的drop,导致之前的stash丢失。

3 恢复之前drop的stash

3.1 通过命令找到之前的stash id

可视化展示git提交信息:git log --graph --decorate --pretty=oneline --abbrev-commit --all $(git fsck --no-reflogs | grep commit | cut -d' ' -f3)

命令行执行下面命令,图形化展示git提交信息:

bash 复制代码
git log --graph --decorate --pretty=oneline --abbrev-commit --all $(git fsck --no-reflogs | grep commit | cut -d' ' -f3)

3.2 git stash apply commitID

在命令行执行下面命令,应用丢失的stash:

bash 复制代码
git stash apply b77f01c
相关推荐
维基框架10 小时前
OpenAI在给Git做优化 上游行为要变了
人工智能·git
1名持续学习的码农10 小时前
GPT Plus、GPT Pro用户第一次用Codex,项目权限和Git分支怎么设置?
人工智能·git·gpt·elasticsearch·ai编程·codex
晨曦中的暮雨21 小时前
Learn Claude Code:CodeAgent 与后端程序大搭配——定时任务、Git Worktree 和MCP 服务
git·ai·llm·agent
减瓦1 天前
用 Git 为本地文件打造一台时光机
开发语言·git·编辑器
Huangjin007_1 天前
【Linux 系统篇(十一)】基础开发工具(六) —— 版本控制器 Git
linux·运维·git
影视飓风TIM2 天前
Linux下C语言缓冲区原理 + Git版本控制
linux·c语言·git
喜欢的名字被抢了2 天前
langgraph教程系列-05-给 agent 装上手脚 - 工具调用
agent·教程·langgraph
tianyuanwo2 天前
当提交标题重复阻塞CI:Git分支修复实战
git·ci/cd·分支基线调整
Salt & Light2 天前
Git 分支操作与恢复完整记录
git