如何正确使用git stash和unstash,避免遇到git unstash failed的问题?
- 内容介绍
- 文章标签
- 相关推荐
本文共计782个文字,预计阅读时间需要4分钟。
场景如下,你正在开发需求时,突然线上发现了bug,需要立即修复。由于代码不完善且未经测试,你希望对需求所做的修改先暂时隐藏,可以使用+stash功能。
场景如下,你正在开发需求1时,突然线上发现了一个bug,需要立即修复。需求1的代码因为不完善,也没经过测试,所以你希望针对需求1所做的修改先暂时隐藏,这样就可以使用 stash功能了。
VCS-->git -->stash
这个时候针对需求1做的修改都会隐藏掉。现在假设你处理bug完毕。需要继续开发需求,现在需要unstash
VCS-->git-->Unstash,选中你刚刚的stash,选中Pop stash。点击pop stash即可。如下图:
但是我这里遇到个问题,屏幕右下角有如下提示:
点击View them,发现是.DS_store 文件,这个我已经在.gitignore中声明忽略该文件了。所以我的localChanges中并没有该文件。
没办法,只有先修改.gitignore,不忽略.DS_store.然后执行git status 能看到两个文件被修改了
然后执行git checkout -- ../.DS_Store 即回滚 .DS_store。然后重新unstash,ok。
然后也需要回滚.gitignore
补充:git临时保存git stash命令
(1)git stash save “save message” 执行存储时,添加备注,方便查找,只有git stash 也是可以的,但查找时不方便识别。
本文共计782个文字,预计阅读时间需要4分钟。
场景如下,你正在开发需求时,突然线上发现了bug,需要立即修复。由于代码不完善且未经测试,你希望对需求所做的修改先暂时隐藏,可以使用+stash功能。
场景如下,你正在开发需求1时,突然线上发现了一个bug,需要立即修复。需求1的代码因为不完善,也没经过测试,所以你希望针对需求1所做的修改先暂时隐藏,这样就可以使用 stash功能了。
VCS-->git -->stash
这个时候针对需求1做的修改都会隐藏掉。现在假设你处理bug完毕。需要继续开发需求,现在需要unstash
VCS-->git-->Unstash,选中你刚刚的stash,选中Pop stash。点击pop stash即可。如下图:
但是我这里遇到个问题,屏幕右下角有如下提示:
点击View them,发现是.DS_store 文件,这个我已经在.gitignore中声明忽略该文件了。所以我的localChanges中并没有该文件。
没办法,只有先修改.gitignore,不忽略.DS_store.然后执行git status 能看到两个文件被修改了
然后执行git checkout -- ../.DS_Store 即回滚 .DS_store。然后重新unstash,ok。
然后也需要回滚.gitignore
补充:git临时保存git stash命令
(1)git stash save “save message” 执行存储时,添加备注,方便查找,只有git stash 也是可以的,但查找时不方便识别。

