git push が合計行の後にハングする 質問する

git push が合計行の後にハングする 質問する

git pushは完了したように見えてもハングしています。git pushを実行しています

Counting objects: 51, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (47/47), done.
Writing objects: 100% (47/47), 27.64 MiB | 6.47 MiB/s, done.
Total 47 (delta 4), reused 0 (delta 0)

ここでハングしてしまい、コマンド ラインに戻るには Ctrl + C を押す必要があります。このプロジェクトでは過去に何度かコミットしましたが、問題はありませんでした。自分のマシンで他のリポジトリを試しましたが、問題なく動作しました。何が起こっているのでしょうか?

ベストアンサー1

https://git-scm.com/docs/git-config#Documentation/git-config.txt-httppostBuffer

ポストバッファ

リモート システムにデータを POST するときにスマート HTTP トランスポートが使用するバッファの最大サイズ (バイト単位)。このバッファ サイズより大きい要求の場合、ローカルで大規模なパック ファイルを作成しないように、HTTP/1.1 および Transfer-Encoding: chunked が使用されます。デフォルトは 1 MiB で、ほとんどの要求にはこれで十分です。

この制限を上げると、チャンク転送エンコーディングを無効にする場合にのみ有効であるため、リモート サーバーまたはプロキシが HTTP/1.0 のみをサポートしているか、HTTP 標準に準拠していない場合にのみ使用してください。一般に、この制限を上げることは、ほとんどのプッシュの問題に対する効果的な解決策ではありませんが、小さなプッシュでもバッファー全体が割り当てられるため、メモリ消費が大幅に増加する可能性があります。

解決

  1. Gitバッファサイズをリポジトリの個々のファイルの最大サイズまで増やします。

  2. git config --global http.postBuffer 157286400

  3. 決議を参照Git プッシュが失敗しました - クライアントが大きすぎるチャンク本文を送信しようとしましたngnix リバース プロキシ構成用。このパラメータをリポジトリの個々のファイルの最大サイズまで増やします。

  4. アウトバウンドプロキシをバイパスするには、Git アウトバウンド プロキシが原因でクローンまたはプルできません

おすすめ記事