某些用户的Git命令失败,但不是全部

时间:2016-01-05 22:00:57

标签: git recovery

我是开发小组中的Git管理员。

最近,B试图从原点做git pull,导致很多关于" refs / tags / ..."的错误。和" refs / heads /..."没有指向有效的对象。

所以他试图获得一个新的git clone并得到同样的错误。

同样的事情发生在其他几个用户身上,但不是全部,包括我自己(即一切对我来说都很好。)

在下面描述的尝试之后,我试图从B获得实际的原始错误消息,但他所拥有的只是一长串类似消息的尾部:

...
error: refs/tags/v4.3.0_rev2664 does not point to a valid object!
error: refs/tags/v4.6.10 does not point to a valid object!
fatal: failed to read object 0a628d61199464517a9baaa117092fdd73f2f362: Permission denied
fatal: The remote end hung up unexpectedly

git did not exit cleanly (exit code 1) (10515 ms @ 01/04/2016 12:35:17 PM)

所以我们做了一些研究,发现了这个:

Git refs/remotes/origin/master does not point to a valid object

我按照远程存储库上的该链接中的步骤(在制作备份副本之后),对于某些用户而言,事情变得更好,但不是全部。

目前,当B尝试git pull到他当前的存储库时,他会收到以下消息:

fatal: loose object b8ddd20da1655b990e361c720c2ee2e500d94bad (stored in ./objects/b8/ddd20da1655b990e361c720c2ee2e500d94bad) is corrupt

当他试图git clone时,他收到了这条消息:

fatal: failed to copy file to 'C:\git_temp\v4/.git/objects/09/01785b71fddf0b5bcdb40e07dcd04f697d2576': Permission denied

现在,当我检查远程存储库文件夹时,我发现./objects/b8/ddd20da1655b990e361c720c2ee2e500d94bad确实存在,但./objects/09/01785b71fddf0b5bcdb40e07dcd04f697d2576没有。

当我对这些文件git cat-file -p时,我发现它们是最近有效的提交。

和以前一样,git pullgit clone对我和L都很好。

我要求D从此存储库中执行git clone并收到一堆failed to stat ....警告,但它继续创建克隆存储库。

我不知道该怎么做才能解决这个问题。

B有一堆代码要推动我们需要尽快。

1 个答案:

答案 0 :(得分:0)

您的问题看起来像是访问权限问题。

检查用户是否可以正确访问git存储库共享副本中的文件夹和文件:从他的系统中打开文件资源管理器中的git repo,并检查他是否确实可以访问{{1} }文件夹,objects,没有带锁的文件夹或文件......

我的建议是:让每个人都使用同一个用户访问此共享仓库。

  • 要么改变与共享文件夹的连接,要为每个人使用相同的普通用户,
  • 或让每个人使用一个用户帐户通过ssh连接访问该文件夹。这很简单:

    09/01785b71fddf0b5bcdb40e07dcd04f697d2576