git挂在推上

git挂在推上,git,github,git-push,Git,Github,Git Push,我不能推到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

我不能推到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挂起,它是:sshgit@github.comgit接收包“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:我已经测试了几个小时,看起来我的网络连接有问题。我试着从另一个连接上推,效果很好。这背后的原因可能是什么?顺便说一下,调制解调器的防火墙已被禁用。

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

在我的案例中,问题与存储库的访问权限有关。我具有只读访问权限,在添加写入权限后,问题得到解决。

首先运行以下操作:

env | grep SSH_ASKPASS
find / | grep gnome-ssh-askpass
source /etc/profile.d/gnome-ssh-askpass.sh
如果没有得到任何结果,则必须设置该值。如果您使用的是GNOME,请查找
GNOME ssh askpass.sh
的位置,该位置通常通过执行以下操作找到:

env | grep SSH_ASKPASS
find / | grep gnome-ssh-askpass
source /etc/profile.d/gnome-ssh-askpass.sh
它通常位于
/etc/profile.d
目录中。通常情况下,这会自动加载,但由于某些原因,它没有加载。因此,请运行以下命令:

env | grep SSH_ASKPASS
find / | grep gnome-ssh-askpass
source /etc/profile.d/gnome-ssh-askpass.sh
(或者,您可以只
chmod+x
文件并直接运行它,这取决于您自己)

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

如果未找到
gnome ssh askpass.sh
文件,请执行
yum搜索ssh askpass
并安装该软件包(通常
yum安装openssh askpass


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

我花了5个小时试图解决一个类似的问题。首先,您是通过隧道还是VPN连接运行此功能

证明隧道的MTU(最大传输单元)可以被错误配置,因为在网络路径中间的一些路由器只能支持较低MTU,但这对于VPN /隧道软件是未知的,导致丢包。 因此,快速的答案是尝试降低连接的MTU:

sudo ifconfig eth0 mtu 1300
这里我为
eth0
接口设置MTU,替换为实际用于访问git服务器的接口。默认MTU通常为1500


对于OpenVPN,我必须更新
tun0
接口。在OpenVPN配置中有一种更好/更可靠的方法来实现这一点:使用
链接mtu
mssfix
选项

我也遇到了同样的情况,因为接收端的磁盘已满100%。

我正在不到5秒钟的时间内将一张300 kb的图片上传到Gmail,我认为我的网络连接速度不太慢。有没有办法监控git上传?我可以试试。检查一下你的网络连接是否有MTU问题。如果您将计算机接口的MTU降低到1280,您是否能够推送?我相信您的问题与此相同:。尝试一下推荐的解决方案。因为你帮我节省了几个小时。我不太明白的是,为什么我的端点之间的某个MTU发生了变化。不知道为什么会被否决。这为我解决了这个问题,值得再次检查您在远程端的文件系统权限。(不确定为什么没有向流程抛出错误。)这解决了我在长时间搜索原因后的问题。非常感谢。这也解决了我在个人git服务器上的问题。文件所有者是错误的,文件权限也是错误的。