web-dev-qa-db-ja.com

エラー:RPCは失敗しました。未処理の読み取りデータが残っているため、カール転送は終了

GitLab(GitLab 6.6.2 4ef8369)からリポジトリを複製しようとしましたが、エラー:

enter image description here

remote: Counting objects: 66352, done.
remote: Compressing objects: 100% (10417/10417), done.
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed

このエラーを回避する方法

77
Do Nhu Vy

数日後、今日私はこの問題を解決しました。 SSHキーを生成し、この記事に従ってください:

https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/

それを宣言する

  1. Gitプロバイダー(私が使っているGitLab、GitHub)。
  2. これをローカルIDに追加します。

次にコマンドでクローンを作成します。

git clone [email protected]:my_group/my_repository.git

そしてエラーは起こりません。

上記の問題

エラー:RPCは失敗しました。未処理の読み取りデータが残っているため、カール18転送がクローズされました

hTTPプロトコル(curlコマンド)によるクローン作成時にエラーが発生するためです。

そして、バッファサイズを増やすべきです:

git config --global http.postBuffer 524288000
34
Do Nhu Vy

私は遅いインターネット接続を使用していて、かなり巨大なgitリポジトリを複製しなければなりません。最も一般的な問題は、接続が閉じられ、クローン全体がキャンセルされることです。

Cloning into 'large-repository'...
remote: Counting objects: 20248, done.
remote: Compressing objects: 100% (10204/10204), done.
error: RPC failed; curl 18 transfer closed with outstanding read data remaining 
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed

たくさんの試行錯誤とたくさんの「リモートエンドが突然ハングアップ」した後、私にはうまくいく方法があります。アイデアは、まず浅いクローンを作成してからリポジトリをその履歴で更新することです。

$ git clone http://github.com/large-repository --depth 1
$ cd large-repository
$ git fetch --unshallow
119
Khader M A

リモートからクローンを作成しようとしたときに、同じ問題が繰り返し発生しました。

remote: Counting objects: 182, done.
remote: Compressing objects: 100% (149/149), done.
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed

最後にこれは私のために働きました:

git clone https://[email protected]/repositoryName.git --depth 1
9

上記のように、まず最初にbashからgitコマンドを実行し、先頭に拡張ログディレクティブを追加します。GIT_TRACE=1 GIT_CURL_VERBOSE=1 git ...

例えばGIT_CURL_VERBOSE=1 GIT_TRACE=1 git -c diff.mnemonicprefix=false -c core.quotepath=false fetch Originこれは詳細なエラー情報を表示します。

4
Sergey Gindin

ネットワーク接続の問題.
おそらく持続的な接続タイムアウトが原因です。
最良の方法は他のネットワークに変更することです。

3
Yang

これらのステップは私のために働いています:https://代わりにgit://

2
Jinwawa

簡単な解決策:それならhttpsでクローンを作成し、sshでクローンを作成します。

例えば:

git clone https://github.com/vaibhavjain2/xxx.git - Avoid
git clone [email protected]:vaibhavjain2/xxx.git - Correct
1
Vaibhav Jain

私と一緒にこの問題はプロキシの設定が原因で発生しました。プロキシ例外にip gitサーバーを追加しました。 gitサーバーはローカルでしたが、no_proxy環境変数が正しく設定されていませんでした。

私はこのコマンドを使って問題を特定しました。

#Linux:
export GIT_TRACE_PACKET=1
export GIT_TRACE=1
export GIT_CURL_VERBOSE=1

#Windows
set GIT_TRACE_PACKET=1
set GIT_TRACE=1
set GIT_CURL_VERBOSE=1

見返りに、gitサーバがプロキシを通過してはいけないスポットであったため、「Proxy-Authorization」がありました。しかし、本当の問題はプロキシルールによって定義されたファイルのサイズでした

1

試しにgitクローンプロトコルを変更する。

たとえば、「git clone https:// xxxxxxxxxxxxxxx 」の場合にこのエラーが発生しました。

"git clone git:// xxxxxxxxxxxxxx"で試すことができます。

0
Bingnan

ここですべての答えを試しました。ココアポッドをマシンに追加しようとしていました。

SSHキーを持っていなかったので、@ Do Nhu Vyに感謝します

https://stackoverflow.com/a/38703069/2481602

そして最後に使用された

git clone https://git.coding.net/CocoaPods/Specs.git ~/.cocoapods/repos/master

見つかった問題を最終的に修正するには https://stackoverflow.com/a/50959034/2481602

0
MindBlower3