2011-09-09 13 views
20

gitのプルは、次のエラーGitのプルが正常にプルする方法

remote: Counting objects: 146, done. 
remote: fatal: unable to create thread: Resource temporarily unavailable 
error: git upload-pack: git-pack-objects died with error. 
fatal: git upload-pack: aborting due to possible repository corruption on the remote side. 
remote: aborting due to possible repository corruption on the remote side. 
fatal: protocol error: bad pack header 

で失敗悪いパックヘッダエラーで任意のアイデアを失敗しましたか?

+0

[GitリポジトリのRepackが失敗する](http://stackoverflow.com/questions/4826639/repack-of-git-repository-fails) –

答えて

45

remoteで始まる行は、リモートシステムで実行中のgitから出力されます。エラー:

fatal: unable to create thread: Resource temporarily unavailable 

は...強く、あなたが持っている場合に発生することができた、サーバー上のメモリが不足してきたことを示唆しているいずれか:

  1. 大きなファイルをたくさん、とリポジトリました再パッキングで大量のメモリが必要になる可能性があります。
  2. 限定仮想メモリ - 一般に、または単にそのアカウントのいずれかによるulimitに提案here

設定は、パッキンとして(リモート・システムにログインすることによって取ることができることメモリの量を制限することですGitはとして実行するユーザー)とやって:

git config --global pack.windowMemory "100m" 
git config --global pack.packSizeLimit "100m" 
git config --global pack.threads "1" 
+1

ありがとう!私はOPと同じエラーを受けていた。 pack.windowMemoryとpack.SizeLimitの設定項目を実装しようとしましたが、まだエラーが発生していました。 pack.threads "1"を追加したところ、すべてが解決されました! –

+1

私はsvnからgitに切り替えるときに大きな熱意を持って始めました。しかし、あいまいな問題から不確かな問題まで、私はスイッチの決定がどれほど賢明かはわかりません。 –

+0

私はpack.packSizeLimitの代わりにpack.SizeLimitプロパティを変更することに問題がありました。これは私の問題を解決しました。どうもありがとうございました!!! – Stargazer

0

アップデート:この答えは正しい命名と彼の答えを更新したマークLongairの答えに編集提案しました。

実際にはpack.SizeLimitは間違っていますが、それはpack.packSizeLimitです。私は、このオプションを追加すると

は、それは私のために働いた:)

私はローカルおよびリモートリポジトリの両方で設定する必要がありました。

+0

これは質問された質問、または少なくとも完全な答えへの答えではないようです –