GIT致命错误:无法读取对象

8

我是GIT的初学者,现在遇到了一个大问题。我在另一台电脑上提交和推送了一些文件,现在在我的家用电脑上git出了问题。

请看下面:

$ git status
fatal: failed to read object f4927c0e01f566faf3ef5cb55f974b524af4449c: Invalid argument


$ git commit -m "test"
fatal: failed to read object feb4df55618847c02cb13d334fdac4a313701aed: Invalid argument

$ git pull
fatal: failed to read object f4927c0e01f566faf3ef5cb55f974b524af4449c: Invalid argument

$ git add .
fatal: failed to read object f4927c0e01f566faf3ef5cb55f974b524af4449c: Invalid argument

最后一个:

$ git push
Everything up-to-date

有没有可能修复我的git?

最好的问候!

编辑: 只需删除.git文件夹。 更改项目文件夹名称 从github克隆 从我旧文件夹中添加新文件。

我可以这样做,因为我只添加了没有更改代码的新文件。


你在从另一台电脑推送代码后,是否执行了 git pull 命令更新本地代码? 查看此链接 - Hamza Anis
很抱歉,不行。我还能做些什么吗? - SerSergious
请参考此恢复方法:https://stackoverflow.com/a/11907655/4544967 - Hamza Anis
你是在尝试推送更改到裸仓库吗?还是因为电源短缺而导致系统突然关闭了? - danglingpointer
2个回答

2
首先,问题是你面临的是损坏的git仓库。这是许多人可能会遇到的奇怪情况之一,其中一个原因是笔记本电脑或个人电脑突然断电。
有一些步骤可以帮助您解决问题:
步骤:
1. 您可以将.git / refs / heads / my-working-branch中的对象替换为.git / logs / HEAD并提交成功的对象。 2. 在第一步完成后,您可以使用git status -s和其他命令返回正常状态,然后使用gitk或其他GUI工具或者只是使用git log查看提交记录。 3. 然后使用git fsck --full命令查看是否存在与错误标题相同的问题。如果发现问题,则需要在.git / objects /中删除该问题。 4. 然后重复步骤3,直到没有标题错误,Git修复就完成了。
更多关于修复损坏或破损的GIT repo的信息,请参见Fixing broken GIT repo.

8
我不理解第一步。 - DFSFOT

-2
我得到了这个:
$ git reset --hard
fatal: failed to read object d4578a93fd08f3b338937e33d75da98d9bf94d58: Input/output error

我使用了我的Dropbox帐户上的Dropbox Rewind高级功能,它能够将整个文件夹回滚到之前一切正常的时间。这显然包括.git文件夹和我的Android应用程序代码/项目中的所有内容。

enter image description here

这个 Dropbox 倒带高级功能非常棒。显然由于停电或其他原因导致的 Git 仓库损坏问题比我想象中的更为普遍 (https://git.seveas.net/repairing-and-recovering-broken-git-repositories.html)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接