添加后git无法推送

时间:2013-01-02 13:42:08

标签: git ubuntu github

好的,我有一个麻烦,因为有些星期以来我无法修复。 我使用git(在github上)来存储我的项目。最近我添加了一些新文件没有问题,但是,当我使用“git push”时,我有一个超时错误。

我使用Ubuntu 12.04,使用ssh(默认)和https。

所以,我决定制作depo(git clone)的新副本。 在此之后,我修改现有文件,提交并推送它......成功!

所以,我添加其他的(在新副本中),提交它们并推送它们。问题再次出现:无法推动 这是控制台输出:

time git push
Counting objects: 13, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (11/11), done.
Writing objects: 100% (11/11), 16.61 KiB, done.
Total 11 (delta 2), reused 0 (delta 0)
^C

real    7m59.383s
user    0m0.008s
sys 0m0.004s

我真的不明白我在这里做错了什么。 我在其他depo,同样的问题,但我的合作者没有任何麻烦。

我删除了git,并重新安装,没有任何更改。

如果您有任何想法可以解决这个问题。

编辑1

git remote -v

origin  git@github.com:Krozark/projet_compilation.git (fetch)
origin  git@github.com:Krozark/projet_compilation.git (push)

编辑:解决方案

sudo ifconfig [wlan0] mtu 1460 (lower than 1500)

3 个答案:

答案 0 :(得分:11)

我看到一个同事所遇到的这个问题完全相同,并且它与SSH网络有关,我们当时正在使用VPN连接,最终导致网络MTU设置太高(如果我记得那就是1492正确地说,我们用较小的值进行修补,直到它开始工作。所以看起来与网络数据包分裂有关。

不确定您是否属于这种情况,但尝试将网络MTU更改为较低值并查看其是否有效并不会造成损害。

当然,如果这是Github方面的一个问题,这不会是一个因素(事实上你可以创建一个新的回购并推高我认为它不是MTU相关的。)

答案 1 :(得分:3)

正如您所建议固定MTU一直有效缓解问题,我建议采用更具针对性的解决方案。

iptables -t mangle -I OUTPUT 1 -o wlan0 -d 207.97.227.239 \
    -p tcp --dport 22 --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1420

这劫持了与服务器的初始TCP协商(仅适用于github.com的IP上的SSH),并强制MSS为1420.这实际上与设置MTU相同,但更具选择性。在某些情况下,您无法轻松保存MTU更改,并且每次接口关闭时都需要重新应用它。

MSS需要比MTU小40,以允许40字节TCP报头+数据段(MSS是最大段大小)。

需要做这样的事情(即,使MTU低于1500)的最常见原因是VPN和隧道。 PMTU旨在解决这个问题,但它在很多情况下失败,让您手动调整某些路径的MTU。使用iptables规则允许您针对不同的问题路径以不同的方式定制流量,而不是强制您将MTU设置为所有路径的最小公分母。这样做的问题在于,通过提高标头数据比率来慢慢减少有效带宽。

答案 2 :(得分:2)

如果本地没问题(即你的git和ssh工作正常),那么它应该是远程方面的问题:

检查GitHub Status

今天

  

3:22 UTC我们正在调查我们的一个文件服务器的问题,少数存储库不可用。

您可能会受到GitHub上提到的当前重复访问问题的影响。


或者是连接问题(如missing VPN route