熟悉git错误“缺少对象0000000000000000000000000000000000000000的refs / heads /…”的人吗?

问题描述

| 我们正在运行git v1.7.1并配置了gitweb。我们也使用乙醇钠进行管理,但我认为这与该问题无关。有时我们会在Apache日志中出现错误,例如:
missing object 0000000000000000000000000000000000000000 for refs/heads/...
末尾的椭圆通常是分支名称。我认为零字符串是SHA1值的前提。显然,全零不是SHA1值。我不清楚这个价值来自何处? 我已经在服务器上运行git fsck,但没有报告问题,但是git gc解决了该问题。同样,我们能够将其推入该存储库(和该分支)。仅gitweb似乎受到影响。 我知道其他人已经看到了这个问题,因为这里有一个封闭的问题: Gitweb故障:致命:裁判/头部/大师失去对象0000000000000000000000000000000000000000000000 这个问题没有答案。 附加信息 现在,我们已经在gitolite-admin存储库中看到了这个问题。我们的gitolite-admin存储库中没有分支,因此它不在分支上。     

解决方法

更改了遥控器上的默认分支并删除了以前的默认分支后,对我来说发生了此错误。我的本地存储库仍然引用了已删除的分支   .git \\ refs \\ remotes \\ origin \\ HEAD 我只是对其进行了更新,以引用新的默认遥控器。     ,检查运行git-daemon的用户的umask值。将其设置为022可能会对您有所帮助(请参阅\'man umask \')。     ,这是没有提交的分支的默认设置。当您推送新分支时,您将在输出00000-> ef357或类似内容中看到。 也可能由区分大小写的内容引起。     ,每当仓库更新且Apache的权限设置不正确时,都会发生这种情况。 我已经设置了一个脚本挂钩,以在每次提交后运行以修复权限(此处的说明为http://sitaramc.github.com/gitolite/hooks.html)。我已将Apache添加到git组中,因此所有文件必须可由Apache运行的gitweb cgi读取。我正在考虑使用suexec对此进行补救。     ,我还在本地为我的一个项目发现了一个类似的问题。对我而言,行为如下:
git fetch
error: refs/heads/test_theme does not point to a valid object!
git branch
我得到get4ѭ 我真的不能说我还记得我对该分支所做的工作以及何时进行的工作。抱歉。 但是,当我执行“ 5”时,错误消失了。     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...