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
相关推荐
xuhaoyu_cpp_java2 小时前
Git学习(三)
经验分享·笔记·git·学习
C137的本贾尼4 小时前
Git基本操作(二):add与commit,把文件交给Git管理
git
咸鱼永不翻身5 小时前
Git Hooks—提交Commit前检查本地时间是否不对
git·git-hooks·git钩子
John_ToDebug5 小时前
如何针对指定目录生成 Git Patch 并精准应用到其他分支
chrome·git
Joy T5 小时前
【Web3】Hardhat工程架构中Solidity与TypeChain的协作机制
git·架构·typescript·web3·智能合约·hardhat·typechain
易水寒陈5 小时前
8字节内存对齐引发的bug
bug
步十人5 小时前
【Git】基础概念与在vscode中的简单使用
git
代码中介商5 小时前
Git 版本控制完全指南:从分支管理到远程协作
linux·git
无风听海13 小时前
git fsck 深度解析 Git 仓库的体检医生
git
洋仔20 小时前
Git 底层原理系列 · 第8讲 — HEAD 与 detached HEAD
git·开源