lint-staged校验报错时,如何将变更文件从Git Stash区恢复到工作区?
如何将Git Stash区的变更恢复到工作区
一、核心恢复命令
- 先查看所有stash记录,确认目标版本:
输出示例:git stash liststash@{0}: WIP on main: xxxxxx,其中stash@{0}是最近的一条stash。 - 恢复最近的stash到工作区(保留stash记录):
git stash apply - 恢复指定stash记录(比如
stash@{1}):git stash apply stash@{1} - 恢复后直接删除对应stash记录(用
pop替代apply):git stash pop # 指定记录:git stash pop stash@{1}
二、关于lint-staged报错的补充
从你的配置来看,commit时lint-staged执行eslint --fix报错,导致变更被自动暂存到stash(这是lint-staged的默认机制:执行前暂存未提交内容,失败后恢复)。除了恢复stash,你可以:
- 查看eslint具体报错信息,修复代码中的语法或规范问题后再提交
- 紧急情况下可跳过lint检查提交(不推荐):
git commit -m "test" --no-verify
你的项目配置参考
package.json
// package.json { "lint-staged": { "./src/**/*": ["eslint --fix", "prettier --write"] }, "devDependencies": { "@commitlint/cli": "^18.4.3", "@commitlint/config-conventional": "^18.4.3", "@typescript-eslint/eslint-plugin": "^6.13.1", "@typescript-eslint/parser": "^6.13.1", "@vitejs/plugin-vue": "^4.5.0", "eslint": "^8.54.0", "eslint-config-prettier": "^9.0.0", "eslint-plugin-prettier": "^5.0.1", "husky": "^8.0.3", "lint-staged": "^15.1.0", "prettier": "^3.1.0", "typescript": "^5.2.2", "vite": "^5.0.0", "vue-tsc": "^1.8.22" } }
pre-commit钩子脚本
# pre-commit #!/usr/bin/env sh . "$(dirname -- "$0")/_/husky.sh" npx lint-staged
内容的提问来源于stack exchange,提问作者quxiaodong
相关产品推荐
相关产品推荐

