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
相关推荐
JuicyActiveGilbert13 分钟前
【CMake指南】第10篇:复杂项目重构与优化指南(实战)
c++·重构·教程·cmake
进击的雷神1 小时前
从一则笑话看需求分析:Bug定位与修复的实战经验及大型项目测试策略设计
bug·需求分析
夫琅禾费米线1 小时前
JavaScript记录:由运算符优先级导致的bug
开发语言·javascript·bug
当归10241 小时前
druid开启防火墙之后的bug
数据库·mysql·bug
清灵xmf2 小时前
Git Worktree 实现 “一边修生产Bug,一边写新需求”
git·worktree
codingPower3 小时前
IntelliJ IDEA 中 Git 高频问题与操作详解|新手避坑指南
java·git·intellij-idea
天天扭码5 小时前
Git入门指南:为何Git,如何Git?
git·后端·github
Warren989 小时前
十分钟学会Git
java·ide·笔记·git·gitee
Lunar*16 小时前
在 VSCode 远程开发环境下使用 Git 常用命令
ide·git·vscode
charlie11451419119 小时前
单片机开发资源分析的实战——以STM32F103C8T6为例子的单片机资源分析
stm32·单片机·嵌入式硬件·学习·教程