【问题标题】:GitHub push not working (Connection Error)GitHub 推送不起作用(连接错误)
【发布时间】:2015-08-16 08:28:04
【问题描述】:

您好,我在推送时遇到了 GitHub 问题。它在两天前左右开始发生,我无法弄清楚。

当从终端推送时,我得到:

Counting objects: 358, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (322/322), done.
error: RPC failed; result=56, HTTP code = 200 15.52 MiB/s   
fatal: The remote end hung up unexpectedly
Writing objects: 100% (358/358), 157.16 MiB | 16.00 KiB/s, done.
Total 358 (delta 230), reused 3 (delta 3)
fatal: The remote end hung up unexpectedly
Everything up-to-date

在抛出致命错误之前,它会挂起三分钟。它说一切都是最新的,但显然这些更改没有保存到 github。我已经将同一个存储库推送到 bitbucket 没有任何问题。我怀疑这是某种超时。

这就是我的 .git/config 的样子。

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
    ignorecase = false
    precomposeunicode = true
[branch "master"]
[remote "origin"]
        url = https://github.com/****/****.git
        fetch = +refs/heads/*:refs/remotes/origin/*
[remote "bitbucket"]
        url = https://***@bitbucket.org/****/***.git
        fetch = +refs/heads/*:refs/remotes/bitbucket/*

我也尝试与 github 应用同步,但它需要很长时间才能引发“网络错误。请检查您的 Internet 连接并重试。”

提前致谢。

【问题讨论】:

  • stackoverflow.com/a/22005335/6309 或它的任何 cmets 会有所帮助吗?或stackoverflow.com/a/29557970/6309
  • 我已经尝试了建议的配置设置(因为我在几个 SO 中看到过)但没有任何运气。
  • 您是否尝试过 cmets(例如“禁用 Kaspersky AV NDIS 6 过滤器”或防病毒软件中的等效项)?或者stackoverflow.com/a/29557970/6309中的其他建议?
  • 据我所知,我的 Mac 上没有任何防火墙。奇怪的是 bitbucket 和 heroku 没有问题。
  • 还有do GIT_CURL_VERBOSE=1 git push 的线索吗?你用的是什么 git 版本?

标签: git github connection push


【解决方案1】:

请提及knowledge base page

原因

错误代码 56 表示 curl 接收错误 CURLE_RECV_ERROR,这意味着在克隆过程中存在阻止数据接收的问题。
这通常是由网络设置、防火墙、VPN 客户端或防病毒软件在传输所有数据之前终止连接造成的。

暂时禁用任何防火墙或防病毒软件,然后再次尝试克隆。

诊断

要打开 Git 调试日志,在使用命令行推送之前,针对不同的操作系统进行如下操作:

在 Linux 上
在执行Git命令之前在命令行中执行如下:

export GIT_TRACE_PACKET=1
export GIT_TRACE=1
export GIT_CURL_VERBOSE=1

在 Windows 上
在执行Git命令之前在命令行中执行如下:

set GIT_TRACE_PACKET=1
set GIT_TRACE=1
set GIT_CURL_VERBOSE=1

解决方法

如果usual recommendations(如git config --global http.postBuffer 2M)失败:
切换到 ssh (after generating ssh keys):

git remote set-url orgin git@github.com:username/repo

【讨论】:

  • 您提到错误应该是在克隆过程中引起的,但我确实在尝试推送,而不是克隆。这仍然适用吗?感谢您的详细回答
  • @marc 是的,在这两种情况下,克隆或推送都涉及 curl。
  • 我尝试了 ssl 仍然得到错误。写入失败:Broken pipe6/375),53.94 MiB | 45.00 KiB/s 致命:远程端意外挂断错误:pack-objects 死于信号 13 错误:未能将一些参考推送到 'git@github.com:***/***.git'
  • @marc 那么这意味着您尝试推送的 content 不受支持。可能是因为您的提交太大。试试rtyley.github.io/bfg-repo-cleaner
  • 是的,我有一些比应有的更大的垃圾箱。我删除了它们,但它仍然在抱怨。我尝试了清洁剂,但没有帮助。
猜你喜欢
  • 2022-01-28
  • 1970-01-01
  • 2015-03-23
  • 2022-06-30
  • 2011-05-31
  • 2013-11-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多