git fsck - full没有问题,但无法推进上游

时间:2012-05-10 08:08:30

标签: git

我有一个大约7000个文件的项目,其中我正在尝试添加并提交大约4000个初始推送上游

运行

 git fsck --full 

返回没有错误 但是当我做了

git push -u origin master

git push origin master

我收到这样的错误

fatal: loose object 890b67d9a81c0061176d5a9a061cc6437eac283d (stored in .git/objects/89/0b67d9a81c0061176d5a9a061cc6437eac283d) is corrupt
error: failed to push some refs to 'ssh://git@xxxxxxx'

疯狂的是每次运行push命令时引用的松散对象都不同。

并且非常偶尔它会实际上开始推送上游对象,然后在此消息中途失败

Counting objects: 4551, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (4168/4168), done.
fatal: loose object c839cf225383c94e4bb2234fca9f9b8b2d645cde (stored in .git/objects/c8/39cf225383c94e4bb2234fca9f9b8b2d645cde) is corrupt
fatal: early EOF
error: failed to push some refs to 'ssh://git@xxxxxxxx'

我不知道该做什么。

1 个答案:

答案 0 :(得分:1)

可能是:

  • 权限问题(对.git/object/...的ACL限制太多)
  • 一个句柄问题(.git/objects/c8/39cf225383c94e4bb2234fca9f9b8b2d645cde已经被另一个进程锁定了)
  • 损坏问题(在这种情况下,您需要检查该文件是否存在于另一个分支中(或只是在master上可读),并将其复制到.git/objects/c8