执行git commit触发java.io.IOException错误的排查求助
解决Git Commit时的Java Runtime错误
问题分析
从报错栈信息可以明确,错误来自全局路径C:/UserData/hooks-tools/Hooks/Tools/hooks-pre-commit的pre-commit钩子脚本,你重命名本地仓库的钩子无效,因为触发的是全局Git钩子。
可行解决方案
- 检查全局钩子配置:执行命令
如果返回类似git config --global core.hooksPathC:/UserData/hooks-tools/Hooks/Tools的路径,说明全局钩子路径已被配置。 - 取消全局钩子配置:执行命令
这会让Git恢复使用本地仓库git config --global --unset core.hooksPath.git/hooks目录下的钩子。 - 若取消全局配置后仍有问题,检查Git安装目录的模板钩子:
找到Git安装路径下的mingw64/share/git-core/templates/hooks文件夹(Windows系统),将其中的pre-commit文件重命名为pre-commit.disabled。 - 验证修复:重新执行
git commit -m "测试提交",确认提交是否正常。
内容的提问来源于stack exchange,提问作者Lucas Fonseca Alexandre de Oli
相关产品推荐
相关产品推荐

