108

プッシュが完了したように見えた後、git プッシュがハングします。私は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)

ここでハングアップし、コマンド ラインに戻るには control-c を実行する必要があります。私は過去にこのプロジェクトで問題なくいくつかのコミットを行いました。私は自分のマシンで他のリポジトリを試しましたが、正常に動作します。ここで何が起こっているのですか?

4

21 に答える 21

48

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

http.postBuffer

データをリモート システムに 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 アウトバウンド プロキシが原因でクローンまたはプルできない」で説明されているように、アウトバウンド プロキシをバイパスします。

于 2021-08-09T11:30:06.817 に答える
1

次のコマンドを使用します。

git remote add origin <url>
git push -f origin master
于 2020-04-25T07:25:26.130 に答える
0

変更をステージングしたがコミットしていないかどうかを確認します。( git status)

その場合は、それらをコミット (またはステージング解除) してから、プッシュしてみてください。私のために働いた。

于 2015-06-26T17:39:33.220 に答える
-2

十分に長く待っても問題が解決しない場合は、次のことを試してください。

1 - CTRL+C (コマンド +C) でプロセスを停止します。

2- どんなファイルにも非常に小さく効果のない変更を加えます。(gitシステムが新しいファイルを変更されたことを検出するため)。

3- git add および git commit の手順に従って、変更をプッシュします。

git add modified_file
git commit -m "new commit message"

4- git push コマンドを実行すると、問題なく動作することがわかります

git push
于 2022-03-02T13:40:48.793 に答える