【问题标题】:git impossible to push after add添加后git无法推送
【发布时间】:2013-01-02 13:42:07
【问题描述】:

好的,我有一个问题,一周以来我一直无法解决。 我使用 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)

【问题讨论】:

  • 显示git remote -v的输出。它看起来像网络超时,但如果没有远程的 URI,那么 SO 无能为力。另外,你能用那个遥控器git fetch吗?
  • 立即尝试。 Github 看起来又可以正常工作了。

标签: git ubuntu github


【解决方案1】:

我看到一个同事遇到的同样的问题,它与 SSH 相关的网络,我们当时使用的是 VPN 连接,结果是网络 MTU 设置太高(如果我记得是 1492正确),我们修改了较小的值,直到它开始工作。所以它似乎与网络数据包拆分有关。

不确定这是否适合您,尽管尝试将您的网络 MTU 更改为较低的值以查看它是否有效并没有什么坏处。

当然,如果这是 Github 方面的问题,这不会是一个因素(你可以创建一个新的 repo 并向上推,这让我相信它与 MTU 无关)。

【讨论】:

  • 我这样做:sudo ifconfig wlan0 mtu 576,它解决了它。谢谢!
  • 我会尝试将您的 MTU 设置为尽可能高(您不能超过 1500 - 这是以太网的最大限制),但您可能可以毫无问题地达到 1460 左右。最好拥有尽可能高的 MTU,但要保持功能正常。
  • 我会尝试其他价值,但我会从一个非常小的开始测试您的解决方案。 1460没问题。我的默认值为 1500。
  • +1。我在回答中提到了 VPN,但这个回答更加具体。
【解决方案2】:

正如您所说,固定 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 是 Max Segment Size)。

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

【讨论】:

  • 确实更详细地解释了根本原因是什么 +1
【解决方案3】:

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

检查GitHub Status

今天

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

您可能会受到 GitHub 上提到的当前经常性访问问题的影响。


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

【讨论】:

猜你喜欢
  • 2014-01-19
  • 2011-01-02
  • 2015-09-05
  • 1970-01-01
  • 2014-10-01
  • 2018-11-30
  • 1970-01-01
  • 1970-01-01
  • 2018-02-12
相关资源
最近更新 更多