2

私はGitが初めてです。Bonobo Git Server をバックエンドとして使用し、TortoiseGit をクライアントとして使用しています。プルを行うと、TortoiseGit で次のようになります -

POST git-upload-pack (328 bytes)
fatal: protocol error: bad line length character: <!DO
fatal: write error: Invalid argument


git did not exit cleanly (exit code 1)

ボノボのエラーログには次のように書かれています -

   GitSharp.Core.Exceptions.MissingObjectException: Missing commit commit 903228ffc07ea920fd944c6fcdd5d8d5ef852ff1 0 ------

フォルダー903228ffc07ea920fd944c6fcdd5d8d5ef852ff1の下の開発者のマシンの 1 つで、不足しているファイルを見つけました。.git\objectsこれをサーバーに配置して、レポを再び機能させるにはどうすればよいですか? 助けてください。

必要な別のスレッドを読んで、repackそれをサーバーにプッシュしますか? それ、どうやったら出来るの?私はGitの初心者です。私はWindowsを使用しています。

4

1 に答える 1

0

事態を悪化させた場合に備えて、破損したリポジトリを最初にバックアップします。

次に、適切なファイルをサーバーにコピーしgit/objects/90/3228...ます。

詳しくは、リポジトリーの破損からのリカバリーを参照してください。

不足しているオブジェクトがたくさんある場合は、実際にそれらをパックで送信できます。

  1. サーバーで、不足しているオブジェクトの SHA-1 合計を見つけます

    git fsck | grep missing | grep -o '[0-9a-f]\{40\}' > missing
    
  2. 開発者のマシンで、不足しているオブジェクトをパックします

    git pack-objects --stdout < missing > objects.pack
    
  3. サーバーで、パック ファイルを展開します。

    git unpack-objects < objects.pack
    
于 2013-05-25T00:32:03.810 に答える