Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.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
git有一个损坏的丢失对象,无法修复_Git - Fatal编程技术网

git有一个损坏的丢失对象,无法修复

git有一个损坏的丢失对象,无法修复,git,Git,所讨论的对象不存在,我每隔一天左右进行一次提交。 因为它没有列出这个对象应该在哪里,我不知道该怎么处理它。 我想我的最后一次是在上个月的30号,所以最近我已经很不平衡了,但我仍然不知道为什么它要做它现在正在做的事情 我尝试了git unpack object-r

所讨论的对象不存在,我每隔一天左右进行一次提交。
因为它没有列出这个对象应该在哪里,我不知道该怎么处理它。
我想我的最后一次是在上个月的30号,所以最近我已经很不平衡了,但我仍然不知道为什么它要做它现在正在做的事情

我尝试了
git unpack object-r
,但它什么也没做。因为该对象在我的硬盘上的任何位置都不存在


原始位现在已更改:

不,我好像刚找到它。我没有意识到它实际上是在做26 as/26/而不是自己。显然,该文件是在12月1日创建的,而且自从上次外部备份以来,我没有说过对象,我相信是几天前的事。

最好的方法是什么?

您需要看看这是什么对象。您需要确定它是blob、tree、commit还是(不太可能)签名或消息标记。Git有低级的操作命令来实现这一点

看一看

我建议您执行一个过滤器分支或rebase-I--PREVICE merges来清理历史记录,以便所有sha-1解析为正确的对象。

试试看

~$ git commit .
error: inflate: data stream error (incorrect data check)
error: corrupt loose object '26f0654cde5d83f2ed8d971474d9d08a76644087'
fatal: object 26f0654cde5d83f2ed8d971474d9d08a76644087 is corrupted

这对我有用。它会隐藏您尚未提交的任何内容,这些内容可以解决问题。

如果您有备份,我可能会复制/替换目录中的所有文件,我将从那里开始尝试。它又开始工作了,不幸的是,它无法解决问题,但至少我确实让它工作了,而且你所说的在将来可能会起作用。
git stash