如何用我的文件创建的新Git对象替换损坏的Git对象,这很好

ste*_*ble 9 git

在我的文件系统中,我的应用程序运行正常.所有测试都通过.

我是一个唯一的开发人员,使用Git主要使用Heroku以及备份.

由于腐败的物体,Git已停止工作.

我收到的错误看起来像这样:

steven-nobles-imac-200:drominay steven$ git push heroku master
error: inflate: data stream error (invalid distance too far back)
fatal: object 990ad2766afa2e2002eea265225ad160e73eacd2 is corrupted
error: pack-objects died with strange error
Run Code Online (Sandbox Code Playgroud)

(以及许多其他错误,都引用了损坏的对象.)

如何让Git抛弃损坏的对象并用我的应用程序的工作副本构建的新对象替换它们?

Git init 没有解决问题.

谢谢!

And*_*ett 10

你需要使用git-fsck.手册有详细信息,但要点是git-fsck将确保存储库内部一致并列出缺少的对象,然后您可以使用git hash-object -w <correct-file>将文件放入存储库.如果给hash-object的文件确实是腐败的文件,那么你的存储库现在又完成了:).

更新添加:Git修复做同样的事情,但自动:).