Github CLI提交PR时提示Unable to find remote helper for 'https'错误
问题根因分析
这个报错本质是GitHub CLI(gh)调用的Git二进制文件缺失HTTPS远程支持,和你本地Shell环境能正常使用的Git不是同一个实例,之所以不同命令表现不同,原因如下:
git clone、普通Git操作走的是你当前Shell环境PATH里匹配到的Git,你已经修复了这个Git的HTTPS支持,所以运行正常gh pr status核心逻辑直接调用GitHub OpenAPI查询数据,仅极少数场景需要调用本地Git,所以即使gh关联的Git有问题也不会触发报错- 创建PR的操作需要gh调用本地Git执行分支推送、提交对比等逻辑,此时调用的是gh自身运行环境匹配到的Git实例,这个实例没有HTTPS支持,所以触发报错
常见触发场景及修复方案
1. 多Git版本共存,gh调用了异常版本
很多设备会存在多个Git实例:比如系统预装的精简版Git、手动编译安装的Git、包管理器安装的Git,gh默认会从自身运行时的PATH里找Git,和你Shell的PATH可能不一致。
验证方法
- 执行以下命令查看当前Shell使用的Git路径:
# Linux/macOS执行 which git # Windows Powershell执行 where.exe git - 执行以下命令查看gh配置的Git路径:
gh config get git-path
如果两个路径不一致,即可确认是该问题。
修复方法
将gh的Git路径配置为你当前Shell正常使用的Git路径即可,示例:
# 替换为上一步which/where查询到的正常Git路径 gh config set git-path /usr/local/bin/git
2. 执行gh命令时切换了运行环境
如果你使用sudo、容器、虚拟环境等方式执行gh命令,运行环境的PATH里匹配到的Git是缺失HTTPS支持的版本,和你普通用户环境的Git不一致。
修复方法
- 避免使用sudo执行gh相关操作,普通用户权限即可完成PR创建
- 如果必须在特定环境执行,先在对应环境修复Git的HTTPS支持再操作
内容的提问来源于stack exchange,提问作者bjellesma-cfs
相关产品推荐
相关产品推荐

