git stash -a之后踩坑

记录一坑,今天写项目,突然别的模块有个bug,但是当前模块还没有写完,git stash临时保存一下,statsh之后,切换了分支,改好了bug,喝个小水,然后git stash apply 一下,发现stash的东西没了…最后在百度了stash命令,发现自己打错了,-u打成了-a,忧桑…

一、问题简述

错误使用了git stash save -a ‘描述’,后续再使用git stash apply之后,发现stash的文件恢复不回来了。

  • -u:会把没有暂存的文件也保存下来,啥意思?你新建了一个文件,还没有git add去暂存,stash也会将这个文件临时保存起来。
  • -a:会把忽略的文件也保存下来,啥意思?.gitignore中的文件都存下来。
二、解决问题
  1. 使用下述命令找到所有提交记录 git log --graph --all --decorate --oneline
    找到74a35b6 就是我的那次错误的提交~
    git stash -a之后踩坑_第1张图片
  2. 切换到当前提交 git checkout 74a35b6
  3. 回退到上一个HEAD git reset HEAD~1

上述三个步骤之后,就回到git stash之后的版本了,此时重新git stash 就可以了~

你可能感兴趣的:(git,git)