Gitリポジトリの操作でerror: RPC failed;の解決方法

Gitでリモートリポジトリからcloneしようとしたときに次のようなエラーが発生した場合の解決方法です。
このエラーは、リモートリポジトリからのデータ転送中に何らかの問題が発生したことを示しています。

error: RPC failed; curl 18 transfer closed with outstanding read data remaining
fetch-pack: unexpected disconnect while reading sideband packet
fatal: protocol error: bad pack header

解決策には次のような方法があります。

  1. ネットワーク接続を確認する
    まずは物理的にネットワークが切断されていないか確認してください
  2. パケットサイズを変更する
    次のコマンドを実行し、パケットサイズを増やします
     git config --global http.postBuffer 524288000
    
    上記では、デフォルトの1MBから500MBに増やしています
  3. クローンするリポジトリの履歴を制限する
    次のコマンドを実行し、クローンするリポジトリの履歴を指定します
     git clone --depth 1 <リモートリポジトリ>
    
    上記では履歴を1つだけ取得します
    私はこれで解決しました

ドキュメントなどのバイナリファイルを管理していて、大量の履歴があると発生するようです。
その場合、取得する履歴をフルではなく制限することでクローンする時間を短縮できます。
ただし、クローンされる履歴が不完全になるため、注意が必要です。

このエントリーをはてなブックマークに追加
にほんブログ村 IT技術ブログへ

スポンサードリンク

関連コンテンツ

コメント

メールアドレスが公開されることはありません。 が付いている欄は必須項目です