Ubuntu系统添加GitHub HTTPS origin后仍显示git协议无法推送如何解决
问题根因
你添加HTTPS协议远程源后自动转为git://协议,本质是本地Git存在URL自动重写规则,会默认把所有GitHub的HTTPS地址替换为只读的git://协议,而git://协议不支持代码推送操作,因此触发报错。
解决步骤
第一步:先确认重写规则存在
执行命令查看Git配置:git config --list | grep insteadOf若输出包含
url.git://github.com/.insteadof=https://github.com/,即可确认是该规则导致的问题。第二步:根据你的使用需求选择对应处理方案
方案1:不需要该重写规则,直接删除- 若是全局生效的规则,执行:
git config --global --unset url."git://github.com/".insteadOf - 若是仅当前仓库生效的规则,执行:
git config --local --unset url."git://github.com/".insteadOf
方案2:保留重写规则,仅修改当前仓库的origin地址
直接执行命令覆盖origin的远程地址:git remote set-url origin https://github.com/PritpalSingh786/IV-View.git- 若是全局生效的规则,执行:
第三步:验证配置生效
执行命令查看远程源地址:git remote -v确认origin的fetch和push地址均为
https://github.com/PritpalSingh786/IV-View.git即可。第四步:重新执行推送
运行原推送命令即可正常提交:git push -u origin main
内容的提问来源于stack exchange,提问作者Pritpal Singh
相关产品推荐
相关产品推荐

