吐槽
半个月内出现两次了,stash丢失。
大概叙述下步骤,上班第一件事,git stash,git pull,git stash pop。原先暂存区五个文件,pop完立刻变成三个。
并且我能够保证是没有冲突的。因为项目上一次提交远程就是我提交的。
看了眼报错:
stash的pop一共是两个操作,一个是git stash apply,apply过后就是git stash drop,先拿出来再删除,所以找不到之后,文件其实是被git删除了。
不了解为什么会自己删掉,反正是非常非常无语的。
解决
删掉之后立刻就查看了git的提交记录,并且提取了版本。
解决问题方法还是比较常见的,以前写过一篇博客:
其实就是,有记录的话就查看git graph,没有记录就git reflog查看历史的记录。找到最新一次的stash版本,然后切换一个分支出来:
git checkout -b [新分支名称] [版本号]
检出一份新的,就能解决问题。
用git stash apply吧
吸取教训吧,如果有文件要提交的话,写一点提交一点,别一次性搞十几个,先提交到本地再说;
经常清理stash,git stash clear,免得缓存不够了被自己清理掉了;
尽量谨慎的用stash,没事还是先交到本地再说,解决冲突就解决冲突呗,也没啥大不了的;
对stash挺无语的,是不是应该给git提一个issue哈哈哈(bushi),最后就是欢迎关注。