每当我从我的遥控器,我得到以下关于压缩的错误。当我运行手动压缩,我得到相同的:
$ git gc
error: Could not read 3813783126d41a3200b35b6681357c213352ab31
fatal: bad tree object 3813783126d41a3200b35b6681357c213352ab31
error: failed to run repack
有人知道该怎么做吗?
从cat文件中我得到了这个:
$ git cat-file -t 3813783126d41a3200b35b6681357c213352ab31
error: unable to find 3813783126d41a3200b35b6681357c213352ab31
fatal: git cat-file 3813783126d41a3200b35b6681357c213352ab31: bad file
从git fsck中我得到了这个(不知道它是否真的相关):
$ git fsck
error: inflate: data stream error (invalid distance too far back)
error: corrupt loose object '45ba4ceb93bc812ef20a6630bb27e9e0b33a012a'
fatal: loose object 45ba4ceb93bc812ef20a6630bb27e9e0b33a012a (stored in .git/objects/45/ba4ceb93bc812ef20a6630bb27e9e0b33a012a) is corrupted
有人能帮我解读一下吗?
我犯了完全相同的错误,并设法在不丢失更改的情况下取回了我的回购。
我不知道这是否适用于其他人,因为腐败的原因可能是多方面的,但值得一试
I:
为以防万一,对损坏的git存储库进行了多次备份
从远程存储库克隆最近的推送版本
从损坏的。git文件夹中复制了所有文件,除了所有与HEAD, FETCH_HEAD, ORG_HEAD等相关的文件…最重要的是refs, obj和index
最终得到了一个有效的历史记录,但腐败的索引,应用了这篇文章的解决方案如何解决“错误:坏索引-致命:索引文件腐败”时使用Git
我的存储库又开始工作了……
为了确保我没有推送任何错误,我再次从远程复制,检出我想要从恢复的存储库保存的更改,并将它们提交为新的。
我也有同样的问题(不知道为什么)。
此修复需要访问未损坏的存储库远程副本,并将保持本地工作副本的完整性。
但它也有一些缺点:
您将丢失任何未推送的提交记录,并且必须重新提交它们。
你会丢失所有的钱。
修复
从repo上面的父目录执行这些命令(将'foo'替换为项目文件夹的名称):
创建损坏目录的备份:
cp -R foo foo-backup
创建远程存储库的新克隆到一个新目录:
Git克隆Git @www.mydomain.de:foo foo-newclone
删除损坏的.git子目录:
Rm -rf foo/.git
将新克隆的.git子目录移到foo中:
mv foo-newclone /。git foo
删除临时新克隆的其余部分:
Rm -rf foo-newclone
在Windows上,你需要使用:
copy而不是cp -R
rmdir /S代替rm -rf
移动而不是mv
现在foo恢复了它原来的.git子目录,但所有的本地更改仍然在那里。Git状态、提交、拉取、推送等再次正常工作。
我犯了完全相同的错误,并设法在不丢失更改的情况下取回了我的回购。
我不知道这是否适用于其他人,因为腐败的原因可能是多方面的,但值得一试
I:
为以防万一,对损坏的git存储库进行了多次备份
从远程存储库克隆最近的推送版本
从损坏的。git文件夹中复制了所有文件,除了所有与HEAD, FETCH_HEAD, ORG_HEAD等相关的文件…最重要的是refs, obj和index
最终得到了一个有效的历史记录,但腐败的索引,应用了这篇文章的解决方案如何解决“错误:坏索引-致命:索引文件腐败”时使用Git
我的存储库又开始工作了……
为了确保我没有推送任何错误,我再次从远程复制,检出我想要从恢复的存储库保存的更改,并将它们提交为新的。