2013-01-02 46 views
2

由于某些原因,我突然收到提交错误的合并,几个月前发生?使用Gitolite推送到中央服务器,并在本地git流扩展。的错误是:git'无法读取对象'和'无法找到'错误

混帐推:

fatal: failed to read object 02a261fad3eae408b04d1941334875d73ddd3f57: Permission denied 
error: unpack failed: unpack-objects abnormal exit 

而且我找不到本地或服务器上

混帐拉那个对象:

error: unable to find 379d1971a1037a97919ce37342ee7a60fc611946 
error: unable to find 6e41daf37591c88c8dc18f2ecc8761e7d44a0cd9 
error: unable to find 0995f5098e0a96f642c6730231d997dd6e074697 

确定如何考虑尝试新鲜的git克隆:

error: unable to find 379d1971a1037a97919ce37342ee7a60fc611946 
error: unable to find 6e41daf37591c88c8dc18f2ecc8761e7d44a0cd9 
error: unable to find 0995f5098e0a96f642c6730231d997dd6e074697 
error: git upload-pack: git-pack-objects died with error. 
fatal: git upload-pack: aborting due to possible repository corruption on the remote side. 
remote: fatal: failed to read object 6e41daf37591c88c8dc18f2ecc8761e7d44a0cd9: Permission denied 
remote: aborting due to possible repository corruption on the remote side. 
fatal: early EOF 
fatal: index-pack failed 

任何想法可能会发生什么导致这些错误出现?或者更重要的是如何撤消它们?

编辑:也是在提交6e41daf37后,我做了'git流功能启动等等'并提交现有的更改,而不是破坏开发。可能是本地功能的问题,而不是Gitolite服务器?在任何情况下,我不能'功能发布',因为它给'解包失败阅读对象02a261fad3'错误张贴

+0

大概这不是一个开源项目,您可以提供的URL? – Johnsyweb

+0

会帮助http://stackoverflow.com/a/9673632/6309吗?或http://stackoverflow.com/a/820167/6309? – VonC

+0

Johnsyweb:它不是操作系统,VonC:看起来并不像他们帮助的那样,'git fsck'不会返回任何东西,而是一些悬挂的斑点,而我创建的分支只存在于本地而不是远程,所以这对于'git clone'失败问题 – xref

回答

1

由于孩子们说这看起来'粗糙',我敢肯定,孩子们仍然说, ,我只是从备份中恢复了Gitolite repo,现在一切正常。不知道发生了什么,但这是我们为什么做备份的一个很好的例子!

+1

优秀。 +1。这就是为什么我引用http://stackoverflow.com/questions/801577/how-to-recover-git-objects-damaged-by-hard-disk-failure/820167#820167(它说明了备份的另一种用法)。 – VonC

3

这也发生在我身上。似乎某些文件在服务器上的存储库中获取了错误的权限。下面的两个命令的诀窍:

cd /path/to/gitolite 
chown -R git * 
+1

刚刚意识到这是因为我已经通过root在服务器上本地克隆/拉取了一个存储库。这将创建/更改存储库中的文件,并且此类文件的所有者将变为root,而不是git。 – Dima

+0

同样发生在我@迪玛,感谢这一点。 – Cross