git checkout xx之前没保存代码,导致代码丢失怎么办

230 阅读1分钟

早上来公司提交代码,尼玛切分支忘记保存,好几天代码消失,整个人都麻掉了,赶紧想办法

贴一下可能的解决办法

  1. 通过vscode的timeline退回,因为我是大早上提的代码,所以很可惜,timeline里面啥也没有
  2. git规则,如果有未保存的修改过的文件,必须在git stash中保存之后,才允许切分支, 通过git stash apply 'xxx'退回代码,git stash可以在 .git文件夹的hooks文件夹中配置钩子,让你在你想要的时候自动在stash中保存代码,比如commit或者checkout,我好像是因为lint-staged的自动在commit时保存stash救了一命,不过回头一想,我没有在checkout的时候保存stash就成功切了分支,必然是有插件自动帮我保存了stash,所以应该大概率也是虚惊一场

image.png

感谢无敌git和他的无敌插件小伙伴保护我的代码!