背景:
前端项目为保证代码规范性,会通过husky插件设置了lint-staged,从而对代码在git commit事进行校验。
问题:
如果git commit时遇到代码错误,从而导致代码丢失如何找回?
解决方案:
1. 在Git Bash终端输入下面代码:
git stash list //这条命令的作用是列出当前仓库中所有被暂存(stashed)的变更记录。
此时会输出下面的结果:
stash@{0}:list-staged automatic backup
2. 继续输入第二条命令:
git stash apply --index stash@{0} //将指定的暂存变更(这里是 stash@{0})应用回当前工作目录和暂存区。
丢失的代码就可以成功找回
小插曲:
在vscode命令行输入第2条命令,可能会出现下述问题。此时不用怀疑命令出了问题,改用Git Bash终端就可以。(本人是在vscode终端中输入的命令,可以成功找回)
error:unknow switch
usage: git stash apply [--index] [-q|-quiet] [<stash>]
-q, --quiet be quiet, only report errors
--index attempt to recreate the index