我是开发小组中的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 pull
和git clone
对我和L都很好。
我要求D从此存储库中执行git clone
并收到一堆failed to stat ....
警告,但它继续创建克隆存储库。
我不知道该怎么做才能解决这个问题。
B有一堆代码要推动我们需要尽快。
答案 0 :(得分:0)
您的问题看起来像是访问权限问题。
检查用户是否可以正确访问git存储库共享副本中的文件夹和文件:从他的系统中打开文件资源管理器中的git repo,并检查他是否确实可以访问{{1} }文件夹,objects
,没有带锁的文件夹或文件......
我的建议是:让每个人都使用同一个用户访问此共享仓库。
或让每个人使用一个用户帐户通过ssh连接访问该文件夹。这很简单:
09/01785b71fddf0b5bcdb40e07dcd04f697d2576