git stash 和unstash的使用操作,git unstash failed
场景如下,你正在开发需求1时,突然线上发现了一个bug,需要立即修复。需求1的代码因为不完善,也没经过测试,所以你希望针对需求1所做的修改先暂时隐藏,这样就可以使用stash功能了。
VCS-->git-->stash
这个时候针对需求1做的修改都会隐藏掉。现在假设你处理bug完毕。需要继续开发需求,现在需要unstash
VCS-->git-->Unstash,选中你刚刚的stash,选中Popstash。点击popstash即可。如下图:
但是我这里遇到个问题,屏幕右下角有如下提示:
点击Viewthem,发现是.DS_store文件,这个我已经在.gitignore中声明忽略该文件了。所以我的localChanges中并没有该文件。
没办法,只有先修改.gitignore,不忽略.DS_store.然后执行gitstatus能看到两个文件被修改了
然后执行gitcheckout--../.DS_Store即回滚.DS_store。然后重新unstash,ok。
然后也需要回滚.gitignore
补充:git临时保存gitstash命令
(1)gitstashsave“savemessage”执行存储时,添加备注,方便查找,只有gitstash也是可以的,但查找时不方便识别。
(2)gitstashlist查看stash了哪些存储
(3)gitstashshow显示做了哪些改动,默认show第一个存储,如果要显示其他存贮,后面加stash@{$num},比如第二个gitstashshowstash@{1}
(4)gitstashshow-p显示第一个存储的改动,如果想显示其他存存储,命令:gitstashshowstash@{$num}-p,比如第二个:gitstashshowstash@{1}-p
(5)gitstashapply应用某个存储,但不会把存储从存储列表中删除,默认使用第一个存储,即stash@{0},如果要使用其他个,gitstashapplystash@{$num},比如第二个:gitstashapplystash@{1}
(6)gitstashpop命令恢复之前缓存的工作目录,将缓存堆栈中的对应stash删除,并将对应修改应用到当前的工作目录下,默认为第一个stash,即stash@{0},如果要应用并删除其他stash,命令:gitstashpopstash@{$num},比如应用并删除第二个:gitstashpopstash@{1}
(7)gitstashdropstash@{KaTeXparseerror:Expected'EOF',got'}'atposition4:num}̲ 丢弃stash@{num}存储,从列表中删除这个存储
(8)gitstashclear删除所有缓存的stash
以上为个人经验,希望能给大家一个参考,也希望大家多多支持毛票票。如有错误或未考虑完全的地方,望不吝赐教。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。