【Github】解决 git pull不能拉取 HTTP协议的 Git项目

老问题,新答案

摘要

本文的内容是要解决git使用过程中遇到的错误

话题范围

  • Git 使用 HTTPS协议
  • 适用人群:MacOS和Windows用户
  • Proxy的设置

笔者偏好

在协议的选择上,个人推荐HTTPS,因为https协议方便设置代理。
外文:SSH和HTTPS的优缺点对比


设置了代理的时候,会出现这个错误,网络上给出的解决方案(这个方案不合理):

反驳网络上给出的解决方案

条目 代码 解释
取消http.proxy git config --global --unset http.proxy 我的网络直接连接github服务器有问题才配置的代理,unset proxy是本末倒置。
取消ssl校验 git config --global http.sslVerify false ssl是HTTPS协议的内容,取消SSL校验,那等于是历史倒退,IT人不能开历史倒车,思想不能滑坡。

于是,科学的解决方案是:

通用解决方案

  1. 检查 .gitconfig,是否有无效的Http.proxy, https.proxy
  2. Linux以及MacOS用户:检查http_proxyhttps_proxyall_proxy
  3. Windows用户额外检查系统环境变量:http_proxyhttps_proxyall_proxy
  4. 检查 git remote -v 是否添加了https的origin项目地址。
  5. git remote add origin https://github.com/slankka/xxxx.git

安全话题

  • https://username:password@github.com/,这样会暴露自己的明文密码或者AccessToken,是不太好的方式。

更新凭据管理器

Windows 用户使用凭据管理器 设置密码
MacOS 用户适用钥匙串

这个方法适用人群

  • 企业用户
  • 学生、个人用户
    凭据管理器
    钥匙串

如果仍旧认证失败

  • 取消缓存的git密码 git config --unset credential.helper或者 git config --system --unset credential.helper
  • 如果密码更换过,去Windows凭据管理器,更新https协议的git密码。
posted @   一杯半盏  阅读(9259)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示