Git、致命的:リモートエンドが突然ハングアップした


278

走ろうとしたとき

git push origin master --force

たった今

Counting objects: 2649, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (1280/1280), done.
error: RPC failed; result=22, HTTP code = 413 | 116 KiB/s   
fatal: The remote end hung up unexpectedly
Writing objects: 100% (2504/2504), 449.61 MiB | 4.19 MiB/s, done.
Total 2504 (delta 1309), reused 2242 (delta 1216)
fatal: The remote end hung up unexpectedly
Everything up-to-date

安全ではないことと関係がありますか?Fatalの回答のように公開鍵を作成してみました。リモートエンドが予期せずハングアップして再度実行しましたが、それでも機能しません。私は実際にキーを使用していませんか?もしそうなら、私はそれをどのように使用しますか?


出力を表示してくださいgit remote -v
CharlesB 2013年


13
git config http.postBuffer 524288000#それは私のために働く
Hari Das

もしあなたがstackoverflow.com/a/32329453/827525をerror: could not lock config file .git/config: No such file or directory見るなら
niksmac '16

1
提案された解決策のいずれも機能しませんでした。次に、GitKrakenを試しました。git.exeを使用しない数少ないGitプログラムの1つです。GitKrakenはそれを行うことができます。GitKrakenがリポジトリをプッシュした後、git.exeに切り替えて問題なく同期できました。
lars pehrsson 2017

回答:


83

これは、githubをデフォルトでsshにして、新しいリポジトリのhttpsではないようにする方法に似ています。おそらく、httpプロトコルからsshに切り替えてみる価値はあります。

$ git remote add origin git@github.com:username/project.git

httpからhttpsに切り替えることができないのはなぜですか?
DanielLC 2013年

10
bash-3.2 $ git remote add origin git@github.com:xxx / xx.git fatal:リモートオリジンはすでに存在しています。どうして ?
almaruf 2014年

11
@almarufこれは、リモートoriginが既に存在し、交換しようとしているためです。gitはそれを許可していません。したがって、最初に実行してからgit remote rm origin、再試行する必要があります。それはうまくいくでしょう
アルフィー

新しいフレッシュクローンの場合は、プロジェクトを必ず初期化してくださいgit init
Raul

私は後で好む-あなたは(SSH鍵が必要です)SSH経由でのgitプロトコルやトークンの個人的なアクセスによって、ユーザー名とパスワードが必要なHTTPSプロトコルのいずれかを使用することができます
ラウル

520

問題はgit / httpsバッファー設定が原因です。それを解決するために(githubにコミットをプッシュするときにGitから取得が失敗する

git config http.postBuffer 524288000

そして、コマンドを再度実行します


4
バッファを500MBより大きくする必要があります-それは可能ですか?postBufferの数をこれ以上大きくしても、違いはないようです...
jowie

リンクをありがとう-私はプッシュを小さなチャンクに分割することで問題を分類しました。もう一度問題が発生した場合は、どこを見ればよいかわかります。
ジョーイ2013

17
これを一緒に使用するのは良い考え--globalでしょうか?大規模なリポジトリを定期的に扱っています。
DaAwesomeP 2015

2
shivam13juna @何も今までに、インターネットから削除されていない::) web.archive.org/web/20170119225336/http://github.com/gitlabhq/...
ローマM

3
「git config http.postBuffer 524288000」を実行しましたが、まだ問題は解決されていません。それでも同じで、リモートエンドが突然ハングアップしました
Narendra

80

原因:Gitのデフォルトのファイル投稿サイズを超えています。

解決 :

リポジトリに移動します。

リポジトリに移動した後、次のコマンドを実行してバッファを500MBに増やします。

git config http.postBuffer 524288000

2
コードタグを使用してコードをフォーマットしてください。また、これは古い投稿ですので、コードが何をするのかを説明してください。できるだけよく答えてください。
Dan Grahn 2013

31
git config ssh.postBuffer 524288000httpの代わりにSSH経由で投稿する場合にも使用でき ます。
John M

場合によってはgit config --global http.postBuffer 100000000
Job M

このコマンドの実行後に「致命的:gitディレクトリにありません」と表示される
ka3ak

@JohnMこのオプションは存在しないようで、manページまたはgit-scm.com/docs/git-configに
だれも

29

このようなエラーが発生する可能性があります

エラー:設定ファイル.git / configをロックできませんでした:そのようなファイルまたはディレクトリはありません

これは、ローカル.git/configファイルがないためです。このコマンドで機能させることができます。

git config --global http.postBuffer 524288000


これは、cygwin内の非常に遅いPCでクローンを作成しようとしたときに役立ちました-このコマンドを使用するまで、リモートエンドがハングアップし続けました
serup

これは、「致命的:リモートエンドが最初の接続でハングアップする」問題を解決するのに役立ちます。
Karthic.K 2017年

15

私の場合、他の解決策は機能しませんでした。ガベージコレクションを実行することで解決しました。

git gc --aggressive


21
これで問題が解決しましたが、デタッチされたHEADの変更が、それらをマージすると不愉快になる(すべてがADDに変換される)状態に押しつぶされました。実行する前に、これをもう1つ調査しておけばよかったのに。
MatrixManAtYrService 2016

これはどのように問題になりますか?
アンナデートピユシュ

9

他の答えのいずれかに反して-sshを使用したプッシュで問題がありました-httpsに切り替えて修正しました。

git remote remove origin
git remote add origin https://github..com/user/repo
git push --set-upstream origin master

8

このエラーは、リポジトリに対する書き込み権限ない場合にもスローされます。


私の具体的なケースは次のようになりました:

  1. 私はリポジトリを作成しました rootは自分のサーバーユーザーで(SSH経由で)。
  2. gitサービスをインストールしgitすべてのgit関連のアクションを管理するLinuxユーザーを作成しました。
  3. そのときまでrootに、そもそもユーザーでリポジトリが作成されていて、ユーザーがgitリポジトリに何かを書き込むためのファイル権限を持っていないことを忘れていました。

4

犯人(私の場合):
高遅延ネットワーク。

これはそれ自体が答えではなく、他の人を助ける可能性のある観察結果です。このエラーは、待ち時間が長いネットワークでときどきポップアップすることがわかりました(たとえば、インターネットアクセスには衛星放送受信アンテナを使用する必要があります)。ネットワークの速度は問題ありませんが、待ち時間が長くなる可能性があります。注:この問題は特定のシナリオでのみ発生しますが、パターンが何であるかは特定していません。

一時的な緩和:
私はネットワークを切り替えました—私は低速ですが、レイテンシが低いセルネットワーク(ホットスポットとして使用している私の電話)に移動しましたが、問題は解消しました。私のセルの接続も断続的であるため、私はこれを繰り返ししか実行できないことに注意してください。さらに、帯域幅の使用はコストを追加します。私もこのオプションを利用できるのは幸運です。誰もがそうするわけではありません。

gitやsshやcurlなど、最初にタイムアウトになる設定がどこかにあると確信していますが、それが何であるかはわかりません。

開発者へのお願い:
これらの種類の問題は、農村住民にとって常に問題です。システム、ツール、アプリケーションを設計するときは、私たちのことを考えてください。ありがとうございました。


3

私たちの場合、問題.git/configは、読み取り専用アクセスメソッドであるurlエントリを含むファイルを書き込んだクローンでした。://メソッドからメソッドにURLを変更すると@、問題が修正されました。

ランニングgit remote -vは問題を明らかにしました。



3

おそらく、既存のリポジトリ内でリポジトリを複製しました。問題を解決するには、リポジトリを別のディレクトリに複製し、この新しいディレクトリに変更を複製してからプッシュを実行します。


ベータ版のワークフローがあり、サイトを再構築すると、これが正確に発生し、リポジトリを他のリポジトリの上に複製します。修正は可能ですが、gitの問題が含まれています。ありがとう:-)
Alejandro Moreno

2

さらに、このエラーが別の方法で発生し、Googleがここに連れて行ってくれたためです。

私の問題は、ケースの不一致でした。1つのキャメルケースと1つのキャメルケース。どうやら、GITは理由を言わずにこれをやめます。したがって、ブランチがリモートと異なる場合は、大文字と小文字のみが同じになるように変更してみてください。

参照: Git:マージ後に「マスターをブランチに解決できない」


私はすべての関連情報を含めたと思いました-これはケースの不一致が原因です。より明確にするために文を追加しましたが、これは実際にはリンクに関するものではありません。それが明確でない場合は申し訳ありません。
Thomas

2

これは、OSXプラットフォームの更新後に発生する可能性があります。

ターミナルを開き、.sshフォルダーに移動して、次のように入力します。 ssh-add -K ~/.ssh/id_rsa


2

PLESK NginxとGIT plesk gitでこのエラーが発生し、(何を知っているか)で大規模なリポジトリをプッシュしているときに、HTTPコード413でこのエラーが表示され、次のサーバーを調べたところ、Pleskでnginxとapache2が実行されていましたログを調べて、nginxログにエラーを見つけました

このリンクをたどった Pleskのは、大きなファイルのアップロードと設定を再構築することができるようにします。

私はgitのphp部分をスキップしました

その後、git pushはエラーなしで機能しました。


1

プルで同じエラーが発生しました。
「http.postBuffer」トリックを実行しました。解決しましたが、プッシュしたいのですが、またエラーに遭遇しました。

問題の解決方法:
1.他の仮想マシンを含む他のフォルダーにそれを複製しました。(Linux)。
2.変更を行いました。
3.最初はプッシュできなかった元の仮想マシンでプッシュしました。(ウィンドウズ)


これは解決策の仲間ではありません!
Behrouz.M 2016

2
これは理想的な解決策ではないことはわかっていますが、私の場合は問題を解決しました。私の場合のように、他のすべての回答が失敗した場合でも、それはまだ命の恩人です。
nopara73

1

.sshに誤ったキーペアがあると、このエラーが発生しました。(設定で)pubhubをgithubに追加すると、この問題が修正されました。


1

私は同じ問題を抱えています。git Webページから、SSHクローンURLが次の構造になっていることがわかりました。

git@github.com:user/project.git

次のように、「:」を「/」で変更するだけで問題を解決できます。

git@github.com/user/project.git

これは役に立つかもしれません。


1

答えを追加するのはほとんど無意味のようですが、散発的な停止に苦しんでいるのがVisual Studio Onlineであることが最終的にわかったとき、私はこれを長い間戦っていました。これは、VSがクレデンシャルの入力を求め続け、VSOのWebサイトが500を与えることがあったときに明らかになりました。

Counting objects: 138816, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (38049/38049), done.
error: unable to rewind rpc post data - try increasing http.postBuffer
error: RPC failed; curl 56 SSL read: error:00000000:lib(0):func(0):reason(0), errno 10054
The remote end hung up unexpectedly/138816), 33.30 MiB | 3.00 KiB/s
Writing objects: 100% (138816/138816), 50.21 MiB | 3.00 KiB/s, done.
Total 138816 (delta 100197), reused 134574 (delta 96515)
fatal: The remote end hung up unexpectedly
Everything up-to-date

HTTPポストバッファーを2Mbに戻しました。実際には、多くの小さいポストでうまく機能すると思います。

ルーク


1

それは千の物のうちの1つであるように思えます。

私にとって、私は最初にマスターをプッシュし、SourceTreeを介して開発しました(マスターには変更がありませんでした)。これを変更して開発するだけでうまくいきました。


1

大規模なリポジトリをアップロードしているときに同様のエラーが発生しました。

多くの調査の後、これが私がしたことです:

  • HTTPSの代わりにSSHを使用しても、問題は解決しませんでした。
  • http.postBufferを非常に大きな値まで徐々に増やしていきますが、まだうまくいきません。
  • (perforceから新しく移行されたリポジトリであるため)リポジトリ内の大きなファイルが原因である可能性があることがわかったため、LFSを使用してリポジトリを再作成し、largeFileThresholdを40mに設定して、リポジトリのサイズを大幅に削減しました(3.5Gから500M)。これで問題は解決すると思っていましたが、驚いたことに、同じエラーに直面しました。

最後に、追加のエラーメッセージが表示されなかったため、古いgitクライアントを使用している可能性があることがわかりました。git clientを最新(2.20.1)にアップグレードしましたが、エラーがなくなりました!


私もこの問題を抱えていました(ただしTFSからの移行)。2.19から2.20にアップグレードしましたが、修正されました。リリースノートをざっと見ただけでは、問題の原因が明らかになりませんでした。
ジョージリチャードソン

2.20.1.windows.1にアップグレードしたばかりですが、それでもリモートリポジトリにプッシュできません
Vidar

@Vidar大きなファイルをチェックする可能性があります。GitHubには100MBの厳密な制限がありますhelp.github.com/articles/what-is-my-disk-quota ; confluence.atlassian.com/bitbucket/…の「リポジトリ内の大きなファイルを手動で確認する」セクションをご覧ください。ページ自体は良い読み物です。
Mahmoud Hanafy

@MahmoudHanafy-おかげで-最大ファイルサイズに関するweb.configのパラメーターでした-これを増やすとgitが動作し、誰もが満足しています!私にとってはGitHubではありませんが、Bonobo.Git.Server上の私たち自身のプライベートです。
Vidar

0

リモートブランチ名のスペルを間違えたときにこのエラーが発生しました


0

Git Shellを使用してこの問題を回避することができました。

github.com内の各リポジトリは、シェルを使用してダウンロードするために使用できるHTTPS / SSH / Subversion URLを提供します。ここを参照してください: http://prntscr.com/8ydguv
GitHubの最近の変更に基づくと、SSHが最良の方法のようです。

シェルで使用するコマンド:

git clone "URL of repo goes here w/ no quotes"

「Git Shell」とはどういう意味ですか?git端末で使用していますか?
カールリヒター

0

これを実行して、使用しているキーを確認します。ssh -vT git@github.digitalglobe.com

次に、ビルドでこれが最初に実行されていることを確認します。eval "$(ssh-agent -s)" ssh-add〜/ .ssh / id_rsa


0

1)プロジェクトディレクトリにcd

2) git status

3) git checkout -f HEAD

4)マスターをもう一度プルダウンして成功を確認し、リポジトリが不完全に見える場合は最新であることを確認します

これは、Bitbucketからリポジトリを複製するときにVisual StudioのGitから問題のエラーが発生した場合に機能します


0

これは、プッシュしているコミットの形式に誤りがある場合にも発生する可能性があります。

(無意識のうちに)不正なAuthor Emailフィールドのコミットがありましたが、このあいまいなremote end hung upエラーメッセージしか表示されませんでした。私はこの1つのブランチだけでなく他のブランチをプッシュすることができたので、最終的に次のアドレスに到達するまで、「悪い」ブランチからコミットを1つずつプッシュし始めました。

Pushing to git@github.com:directangular/unicorn.git
Counting objects: 100% (9/9), done.
Delta compression using up to 20 threads
Writing objects: 100% (5/5), 549 bytes | 549.00 KiB/s, done.
Total 5 (delta 4), reused 0 (delta 0)
remote: error: object 74c7584ff0b93591c19d3a3c19695889dd2274d2: badEmail: invalid author/committer line - bad email        
remote: fatal: fsck error in packed object        
error: remote unpack failed: index-pack abnormal exit
To github.com:directangular/unicorn.git
 ! [remote rejected]       pizzafeast -> pizzafeast (failed)
error: failed to push some refs to 'git@github.com:directangular/unicorn.git'

そのため、remote end hung up unexpectedlyエラーは実際のエラーメッセージを「飲み込んでいる」ようなものであるように見えます。

不正な形式のメールを修正した後、問題なくプッシュすることができました。


0

私はそれを行うのは良い考えではないと思いますが、ur machineにバックアップがある場合は、もう一度プッシュしてから、repoのクローンを作成してから、古いディレクトリから.gitを削除し、.gitを新しいクローンフォルダから移動してください.. gitは解決されますしかし、この問題のために、一部のファイルはgitでアップロードできない場合があります。urからすべてをもう一度上に押してから、それをurサーバーまたは壊れる他のマシンに引き出します。今私はちょうどそれをやった...私のために働く..そしてこれをする前にあなたのディレクトリのバックアップを取ります。

そして、私が間違っている場合は、plzで修正してください。私はこれを行った後に何がうまくいかないのかもわかりませんか?しかし、今回は本当にうまくいきます。


0

私の問題(致命的:リモートエンドが予期せずハングアップした)は、リポジトリの権限と所有者を確認することで解決しました。

gitリポジトリファイルの所有者は、それをプッシュ/プル/クローンするユーザーである必要があります。


0

上記の答えはどれもうまくいきませんでしたが、これがうまくいきました。

1).git/プロジェクトから削除します
2)リモートリポジトリをデスクトップなどの新しい場所に複製します。git clone https://github.com/foo/bar.git
3).git/新しい場所から古い場所に移動する
4)再コミットして変更をプッシュする


0

私の問題の原因はネットワーク設定でした。SSHやSSLが気に入らない方法でネットワークパケットを不正に処理する「キラー」wifiカードを持っています。

この問題を解決するには、「Kill​​er Control Center」、「Parameters」に移動し、「Advanced Stream Detect」を無効にする必要がありました-gitコマンドがすぐに機能し始めました。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.