git stash 和unstash的使用,git unstash failed

场景如下,你正在开发需求1时,突然线上发现了一个bug,需要立即修复。需求1的代码因为不完善,也没经过测试,所以你希望针对需求1所做的修改先暂时隐藏,这样就可以使用 stash功能了。

VCS-->git -->stash

这个时候针对需求1做的修改都会隐藏掉。现在假设你处理bug完毕。需要继续开发需求,现在需要unstash

VCS-->git-->Unstash,选中你刚刚的stash,选中Pop stash。点击pop stash即可。如下图:

git stash 和unstash的使用,git unstash failed

但是我这里遇到个问题,屏幕右下角有如下提示:

git stash 和unstash的使用,git unstash failed

点击View them,发现是.DS_store 文件,这个我已经在.gitignore中声明忽略该文件了。所以我的localChanges中并没有该文件。

没办法,只有先修改.gitignore,不忽略.DS_store.然后执行git status 能看到两个文件被修改了

git stash 和unstash的使用,git unstash failed

然后执行git checkout --  ../.DS_Store 即回滚 .DS_store。然后重新unstash,ok。

然后也需要回滚.gitignore