11

わかりました、数週間前から解決できない問題があります。プロジェクトを保存するために git (github 上) を使用しています。最近、問題なくいくつかの新しいファイルを追加しましたが、「git push」を使用するとタイムアウト エラーが発生します。

私は ssh (デフォルト) と https で Ubuntu 12.04 を使用しています。

そこで、デポ (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

ここで何が間違っているのか本当にわかりません。私は他のデポでも同じ問題を抱えていますが、協力者には問題はありません。

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)
4

3 に答える 3

11

同僚が抱えていたのとまったく同じ問題があり、SSHに関連するネットワークでした。当時、VPN接続を使用していたため、ネットワークMTU設定が高すぎました(正しく覚えていれば1492でした)。動作を開始するまで、小さい値をいじくり回しました。したがって、ネットワークパケットの分割と関係があるように見えました。

これが当てはまるかどうかはわかりませんが、ネットワークMTUを低い値に変更して、機能するかどうかを確認しても問題はありません。

もちろん、それがGithub側の問題である場合、これは要因にはなりません(新しいリポジトリを作成してプッシュアップできるという事実は、MTUに関連していないと私に信じさせます)。

于 2013-01-02T13:49:27.907 に答える
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 は、40 バイトの TCP ヘッダー + データ セグメント (MSS は最大セグメント サイズ) を許容するために、MTU よりも 40 小さい必要があります。

このようなこと (つまり、MTU を 1500 未満にすること) を行う必要がある最も一般的な理由は、VPN とトンネルです。PMTU はこれを解決するためのものですが、非常に多くの状況で失敗するため、特定のパスの MTU を手動で調整する必要があります。iptables ルールを使用すると、MTU をすべてのパスの最小公分母に設定するのではなく、問題のあるパスごとに異なる方法でトラフィックを調整できます。これを行う際の問題は、ヘッダーとデータの比率を増やすことで、有効な帯域幅が徐々に減少することです。

于 2013-01-04T06:28:45.340 に答える
2

ローカルに問題がない場合 (つまり、git と ssh が正常に動作している場合)、リモート側の問題であるはずです。

GitHub のステータスを確認します。

今日

3:22 UTC ファイルサーバーの 1 つに関する問題を調査しています。少数のリポジトリが利用できません。

GitHub で言及されている現在再発しているアクセスの問題の影響を受けている可能性があります。


または、接続の問題です ( VPN ルートの欠落など) 。

于 2013-01-02T13:45:00.037 に答える