当前位置: 首页 > news >正文

Git推送从失败到成功的解决方案

问题描述

今天在尝试将本地代码推送到GitHub远程仓库时,遇到了推送失败的问题。使用git push命令后,出现了以下错误:

fatal: unable to access 'https://github.com/guchen66/IT.Tangdao.Core.git/': OpenSSL SSL_read: Connection was reset, errno 10054

尝试再次推送时,又遇到了超时错误:

fatal: unable to access 'https://github.com/guchen66/IT.Tangdao.Core.git/': Failed to connect to github.com port 443 after 21023 ms: Timed out

排查过程

  1. 检查本地仓库状态
    首先使用git status命令检查本地仓库状态,确认是否有未提交的更改:

    On branch master
    Your branch is ahead of 'origin/master' by 1 commit.(use "git push" to publish your local commits)nothing to commit, working tree clean
    

    结果显示本地分支比远程超前1个提交,工作树干净,没有未提交的更改。

  2. 检查远程仓库配置
    使用git remote -v命令检查远程仓库配置:

    origin  https://github.com/guchen66/IT.Tangdao.Core.git (fetch)
    origin  https://github.com/guchen66/IT.Tangdao.Core.git (push)
    

    远程仓库配置正确,但使用的是HTTPS协议。

  3. 检查SSH密钥配置
    检查本地是否配置了SSH密钥:

    Get-ChildItem -Path $env:USERPROFILE\.ssh -ErrorAction SilentlyContinue
    

    结果显示本地已配置SSH密钥,这为我们切换到SSH协议推送提供了条件。

解决方案

切换到SSH协议推送

HTTPS协议推送失败通常是由于网络问题、防火墙限制或SSL证书问题导致的。而SSH协议通常具有更好的穿透性,不容易受到这些问题的影响。

  1. 修改远程仓库URL为SSH格式

    使用git remote set-url命令将远程仓库URL从HTTPS格式切换为SSH格式:

    git remote set-url origin git@github.com:guchen66/IT.Tangdao.Core.git
    

    SSH格式的URL通常以git@github.com:开头,而不是https://github.com/

  2. 再次尝试推送

    修改远程仓库URL后,再次使用git push命令尝试推送:

    git push
    

    这次推送成功了!输出结果如下:

    Enumerating objects: 15, done.
    Counting objects: 100% (15/15), done.
    Delta compression using up to 16 threads
    Compressing objects: 100% (8/8), done.
    Writing objects: 100% (8/8), 999 bytes | 999.00 KiB/s, done.
    Total 8 (delta 7), reused 0 (delta 0), pack-reused 0
    remote: Resolving deltas: 100% (7/7), completed with 7 local objects.
    To github.com:guchen66/IT.Tangdao.Core.git12fa65d..6c5a273  master -> master
    

总结

  1. 问题原因:HTTPS协议推送时遇到网络连接问题(SSL连接重置和超时)
  2. 解决方案:将远程仓库URL从HTTPS格式切换为SSH格式
  3. 最终结果:成功将本地代码推送到GitHub远程仓库

小贴士

  • 如果你经常遇到HTTPS推送问题,建议考虑使用SSH协议进行Git操作
  • SSH协议需要提前配置SSH密钥对,但配置一次后可以长期使用
  • 确保你的SSH公钥已经添加到GitHub账户中
  • 定期检查Git远程仓库配置,确保使用合适的协议

注意事项

  • 本文不包含任何密钥、密码等敏感信息
  • 所有命令和输出都经过脱敏处理,仅用于技术分享
  • 在实际操作中,请妥善保管你的SSH密钥和其他敏感信息

通过以上步骤,我成功解决了Git推送失败的问题,希望这篇文章能帮助到遇到类似问题的开发者!

http://icebutterfly214.com/news/80811/

相关文章:

  • 全程复盘:一次枚举值永远 Cloud2的坑——从玄学随机到只读属性
  • Day10-20251203
  • 6.4 基于线弹性断裂力学(LEFM)的断裂参数
  • AI元人文:理论与技术的协同进化框架
  • 12月1日总结 - 作业----
  • Flutter 安卓测试运行
  • 01-IFoxCAD概述与入门
  • 02 安装与运行
  • 【第七章:时间序列模型】3.时间序列实战:使用时序模型进行股票预测实战 - 实践
  • 一条不太寻常的路 —— AFO 退役记 -
  • Go 语言:类型别名 vs 新类型详解 - 若
  • 第五篇Scrum冲刺博客
  • CSAPP 优化程序性能
  • P6_MMSegmentation训练语义分割深度学习算法
  • 2025.12.3
  • scheme中的辛普森积分
  • 2025最新成都精装房装修公司推荐!蓉城家装实力品牌榜单发布,品质服务双优打造理想家居
  • 2025年下半年套管工厂综合推荐榜单:行业专家权威评测
  • P4_准备西瓜语义分割数据集
  • 2025住人集装箱房生产品牌排名如何?谁在颠覆未来居住?
  • AD25 安装全攻略:Altium Designer 25 下载安装教程 + 激活教程 + 中文设置教程 + PCB 入门
  • DVWA SQL Injection—Medium and high(使用sqlmap工具注入)
  • 第7篇 Scrum 冲刺博客
  • 关于Java JSON库的选择
  • Firefox 禁用按下 Alt 显示菜单
  • 2025年中国仿石砖十大龙头厂家推荐:看哪家产品质量好?
  • 2025年12月京东e卡兑换,高口碑回收平台:实测费率与安全交易解析!
  • 团队博客 5:“租易 - 快捷租房管理小程序” Beta 阶段计划与改进方案
  • 2025年尘埃粒子检测仪五大品牌权威评测与推荐,0.1um尘埃粒子计数器/粒子计数器/尘埃粒子检测仪销售厂家哪家靠谱
  • 2025聚脲涂料推荐榜:手工/喷涂/天冬/透明/聚脲涂料厂家优选,宁国创遂领衔,这些企业凭硬核性能圈粉