7

我无法推送到 github。我能够推送一些小的更改,但是这一次,它在写下这个之后挂起:

git push origin master
Counting objects: 22, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (12/12), done.
Writing objects: 100% (12/12), 1.51 KiB, done.
Total 12 (delta 8), reused 0 (delta 0)

在我的 Ubuntu 进程管理器上,当我尝试推送某些东西时,我看到 ssh 挂起,它是:ssh git@github.com git-receive-pack 'xxx/yyy.git'

当我尝试在终端上直接运行此命令时,现在它在写入以下内容后挂起:

0078...7d4 refs/heads/master report-status delete-refs side-band-64k quiet ofs-delta
0000

所有其他的东西都很好,但我不能推动。可能是什么原因?

附加信息:我重新创建了 git 文件并将远程从 SSH 更改为 HTTP。现在,当我尝试推送时出现此错误:

Counting objects: 17, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (9/9), done.
Writing objects: 100% (9/9), 1.19 KiB, done.
Total 9 (delta 6), reused 0 (delta 0)
error: RPC failed; result=52, HTTP code = 0
fatal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly
Everything up-to-date

额外信息 2:我已经对其进行了数小时的测试,看起来我的网络连接是问题所在。我尝试从另一个连接推送,效果很好。这背后的原因可能是什么?顺便说一句,调制解调器的防火墙被禁用。

4

5 回答 5

13

在过去的 5 个小时里,我一直在尝试解决类似的问题。首先,您是通过隧道还是 VPN 连接运行它?

事实证明,隧道的 MTU(最大传输单元)可能配置错误,因为网络路径中间的某些路由器只能支持较低的 MTU,但 VPN/隧道软件不知道这一点,导致丢包.

因此,快速的答案是尝试降低连接的 MTU:

sudo ifconfig eth0 mtu 1300

这里我设置了eth0接口的 MTU,替换成你实际用来访问 git 服务器的接口。默认 MTU 通常为 1500。

对于 OpenVPN,我必须更新tun0界面。在 OpenVPN 配置中有一个更好/更健壮的方法来做到这一点:使用link-mtu <n>andmssfix选项。

于 2015-04-21T15:25:29.043 回答
6

在我的情况下,问题与存储库的访问权限有关。我有只读访问权限,添加写入权限后,问题解决了。

于 2013-08-01T10:55:13.783 回答
0

我也发生了同样的事情,原因是接收端的磁盘 100% 满。

于 2019-05-09T09:35:47.423 回答
-1

首先运行以下命令:

env | grep SSH_ASKPASS

如果您一无所获,则必须设置该值。如果您使用的是 GNOME,请gnome-ssh-askpass.sh通过以下操作找到通常可以找到的位置:

find / | grep gnome-ssh-askpass

它通常在/etc/profile.d目录中找到。通常,这会自动加载,但由于某种原因它没有。所以运行以下命令:

source /etc/profile.d/gnome-ssh-askpass.sh

(或者,您可以只chmod +x使用文件并直接运行它,这取决于您)

完成后,验证是否有值env | grep SSH_ASKPASS,然后 git push 将再次工作。

如果您没有找到该gnome-ssh-askpass.sh文件,请执行 ayum search ssh-askpass并安装该软件包(通常yum install openssh-askpass

对于apt-get,假设您使用的是 gnome,请执行类似的操作,但如果是 kde,那么可能会有一个kde-ssh-askpass??

于 2015-01-20T16:46:41.560 回答
-2

检查您的网络连接是否在上传时太慢。也许你只是需要时间。您能否监控您的网络连接以查看您是否正在向上游发送数据?

于 2012-12-12T00:39:26.143 回答