Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux Git裸存储库失败。缺少必要的对象。Can';t提交/推送_Linux_Eclipse_Git_Git Bare - Fatal编程技术网

Linux Git裸存储库失败。缺少必要的对象。Can';t提交/推送

Linux Git裸存储库失败。缺少必要的对象。Can';t提交/推送,linux,eclipse,git,git-bare,Linux,Eclipse,Git,Git Bare,大约一个月前,我创建了裸git存储库。 上个月,我一直在通过SSH将源代码更改从eclipse提交到该存储库 问题发生在今天,当时我试图从eclipse提交和推送更新。这是我的全部错误: Repository ssh://dany@192.168.0.18:22/home/dany/git/SVP2/ missing necessary objects error: object file ./objects/60/916b83370c1535a4be9924e71e9954c01e82e0 i

大约一个月前,我创建了裸git存储库。 上个月,我一直在通过SSH将源代码更改从eclipse提交到该存储库

问题发生在今天,当时我试图从eclipse提交和推送更新。这是我的全部错误:

Repository ssh://dany@192.168.0.18:22/home/dany/git/SVP2/
missing necessary objects
error: object file ./objects/60/916b83370c1535a4be9924e71e9954c01e82e0 is empty
error: object file ./objects/60/916b83370c1535a4be9924e71e9954c01e82e0 is empty
fatal: loose object 60916b83370c1535a4be9924e71e9954c01e82e0 (stored in ./objects/60/916b83370c1535a4be9924e71e9954c01e82e0) is corrupt
error: object file ./objects/60/916b83370c1535a4be9924e71e9954c01e82e0 is empty
error: object file ./objects/60/916b83370c1535a4be9924e71e9954c01e82e0 is empty
fatal: loose object 60916b83370c1535a4be9924e71e9954c01e82e0 (stored in ./objects/60/916b83370c1535a4be9924e71e9954c01e82e0) is corrupt
我可以假设出了什么问题,但我不知道如何解决它

我认为这可能与linux服务器上的错误有关,该存储库位于:

 Read-only file system
我不知道为什么以及何时我的系统切换到只读模式

我有备份:

  • eclipse项目中我的本地机器中的源代码,它也是本地git存储库
  • 此git存储库的git捆绑包文件
它们是否可以用于将存储库恢复为工作存储库

请帮忙。我很害怕。 我对git很陌生。我没有任何团队成员要求这个。请帮忙

--------------编辑---------------------

感谢:

在远程裸存储库上

dany@192.168.0.18:~/git/SVP2$ git fsck --full
error: object file ./objects/06/b08928836077489d0ede51a0af42c7807b1943 is empty
error: object file ./objects/06/b08928836077489d0ede51a0af42c7807b1943 is empty
fatal: loose object 06b08928836077489d0ede51a0af42c7807b1943 (stored in ./objects/06/b08928836077489d0ede51a0af42c7807b1943) is corrupt
korbeldaniel@192.168.0.18:~/git/SVP2$ 
dany@dany1l:~/git/SVP2$ git fsck --full
Checking object directories: 100% (256/256), done.
dany@dany1l:~/git/SVP2$ 
在本地工作存储库上

dany@192.168.0.18:~/git/SVP2$ git fsck --full
error: object file ./objects/06/b08928836077489d0ede51a0af42c7807b1943 is empty
error: object file ./objects/06/b08928836077489d0ede51a0af42c7807b1943 is empty
fatal: loose object 06b08928836077489d0ede51a0af42c7807b1943 (stored in ./objects/06/b08928836077489d0ede51a0af42c7807b1943) is corrupt
korbeldaniel@192.168.0.18:~/git/SVP2$ 
dany@dany1l:~/git/SVP2$ git fsck --full
Checking object directories: 100% (256/256), done.
dany@dany1l:~/git/SVP2$ 

正如您所看到的,它都是关于同一个对象的。
验证存储库是否处于“良好”状态:

它将验证存储库中的所有文件是否处于“良好”状态。
如果任何文件出现错误,它将显示给定的哈希值不好,这意味着如果文件在列表中,并且不是悬挂的
状态,则校验和(SHA1)与内容不匹配

在这种情况下,文件已损坏


如果文件没有损坏 如果要验证问题不在当前分支中,请签出上一个工作母版,从中创建新分支,然后尝试推送新分支。

如果推送工作正常,那么您已经验证了问题出在您的某个存储库文件中。

我在zip存档中对git存储库进行了正常的目录和文件备份,用于恢复,修复了错误

  • ~/git重命名为~/git\u旧\u已损坏
  • 将git文件夹和文件解压缩到~/git
  • 提交并推送到远程存储库(之前已损坏的存储库)
  • 此提交一次推送了我以前的所有提交


    现在它又恢复正常了。

    好的。文件已损坏。我能做点什么吗?我在命令的post结果中添加了:
    git fsck--full
    您需要确定要删除或恢复哪个文件<代码>git cat文件-p06B08928836077489d0ede51a0af42c7807b1943
    或:
    git show 06b08928836077489d0ede51a0af42c7807b1943
    git cat文件-p06B08928836077489d0ede51a0af42c7807b1943的输出是什么?