Windows下Git Bash执行push/clone报错:无法确定哈希算法
解决Git报错:git/info/refs not valid: could not determine hash algorithm
针对你遇到的Git推送/克隆报错,试试下面这些排查和修复步骤:
检查全局Git哈希算法配置
打开Git Bash,执行:git config --global --list找有没有
extensions.objectformat这一项,如果它的值不是sha1或sha256,或者存在无效值,就执行:git config --global --unset extensions.objectformat要是需要指定算法,优先设置通用的SHA-1:
git config --global extensions.objectformat sha1检查本地仓库配置(针对已有仓库推送报错)
进入报错的仓库目录,执行:git config --local --list同样排查
extensions.objectformat,有异常就重置:git config --local --unset extensions.objectformat排查系统级Git配置
用管理员权限打开Git Bash,执行:git config --system --list如果发现异常的哈希算法配置,执行:
git config --system --unset extensions.objectformat检查Windows环境变量干扰
右键「此电脑」→属性→高级系统设置→环境变量,在用户变量和系统变量里找有没有GIT_CONFIG_PARAMETERS或其他Git相关变量,要是这些变量里带了错误的哈希算法参数,直接删除。彻底清理重装Git
之前的重装可能没清干净:- 卸载Git,然后手动删除安装目录(默认
C:\Program Files\Git) - 打开注册表编辑器(
regedit),删除HKEY_CURRENT_USER\Software\GitForWindows和HKEY_LOCAL_MACHINE\SOFTWARE\GitForWindows - 下载最新版Git,安装时选择默认配置
- 卸载Git,然后手动删除安装目录(默认
克隆时换协议试试
如果是克隆报错,把SSH地址换成HTTPS地址,或者反过来,有时候协议兼容性会导致这类奇怪问题。
内容的提问来源于stack exchange,提问作者Fat Benny
相关产品推荐
相关产品推荐

