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/integrator/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 存储库吗?它至少需要一个objects目录、refs目录和HEAD文件才能成为一个合适的 git 存储库。它包含所有这些吗?

要检查的另一件事是您是否可以直接登录到服务器,并从存储库中克隆。

除此之外,如果您仍然无法找出问题所在,我建议您编辑您的问题以显示其中的内容列表/users/integrator/project,也许我们可以提供有关该信息的更多帮助。

根据您的编辑进行编辑

鉴于该错误,.git您的裸存储库中可能有一个目录。您也可以使用ls -a, 来显示隐藏文件。如果是这种情况,Git 可能会.git首先查看存储库中的目录,而不是查看存储库目录本身。我会看一下,然后将内部.git移开或删除它以允许 Git 访问您的实际存储库。

如果您的存储库中没有.git目录,请四处寻找任何命名.gitproject.git附近的东西;Git 将根据你给它的路径名搜索各种路径名,没有.git子目录或后缀的裸路径名接近它搜索的末尾。

于 2010-09-17T16:36:22.073 回答