3

私のリポジトリでは、裸のメインリポジトリをリモートで追跡しています。私は過去に起源からのフェッチに問題があったことはありません。

しかし、今朝リモートアップデートしようとすると、次のエラーが発生しました。

fatal: '/users/integrator/project' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
error: Could not fetch origin

私は何も変更していません、そしてリポジトリは間違いなくそこにあります。インテグレーターアカウントにアクセスできる人は何人かいますが、通常はマージとプルを行います。このリポジトリへのプッシュは許可されていません。

私の質問は、これが起こった原因は何だったのでしょうか。または、何が問題になっているのかを把握するために使用できる診断はありますか?突然この問題が発生したのは私だけではないため、問題は発生源側にある可能性が高くなります。

アップデート:

ベアリポジトリのクローンを作成しようとすると、次のエラーが発生します。

git clone /users/integrator/project
Cloning into project...
fatal: failed to open '/users/integrator/project/.git/objects': No such file or directory

/ users / integer/projectの内容のリストは次のとおりです。

config
HEAD
packed-refs
ssh_helper
bin/
hooks/
info/
  exclude
objects/
  [lots of folders with two character long names]
  info/
  pack/
refs/
  heads/
  tags/
4

1 に答える 1

5

/users/integrator/projectあなたのサーバーのディレクトリに何があるか見てみましょう。gitリポジトリのように見えますか?適切なgitリポジトリになるには、少なくともobjectsディレクトリ、refsディレクトリ、およびファイルが必要です。HEADそれらすべてが含まれていますか?

もう1つ確認する必要があるのは、サーバーに直接ログインして、リポジトリからクローンを作成できるかどうかです。

それでも問題がわからない場合は、質問を編集して内容のリストを表示することをお勧めします。/users/integrator/projectおそらく、その情報についてさらにサポートを提供できます。

編集に基づいて編集します。

エラーを考えると、.gitベアリポジトリ内にディレクトリがあるようです。で確認するとls -a、隠しファイルも表示されます。この場合、Gitは.gitリポジトリディレクトリ自体を調べるのではなく、最初にリポジトリ内のディレクトリを調べている可能性があります。それを探してから、内部を移動する.gitか削除して、Gitが実際のリポジトリにアクセスできるようにします。

リポジトリ内にディレクトリがない場合は、名前付きまたはその近くにある.gitものを探してください。Gitは、指定したパス名に基づいてさまざまなパス名を検索します。サブディレクトリやサフィックスのない裸のパス名は、検索対象の終わり近くにあります。.gitproject.git.git

于 2010-09-17T16:36:22.073 に答える