【发布时间】:2012-08-27 21:35:06
【问题描述】:
我的房子刚刚停电,现在我的 git repo(我在它发生时承诺)正在报告:
user@localhost$ git fsck
fatal: object 192e0282d23863ec80375a77011012ef8cb80f77 is corrupted
由于此错误,我无法提交。拉取和获取似乎仍然可以正常工作。
user@localhost$ git commit
error: unable to find 192e0282d23863ec80375a77011012ef8cb80f77
fatal: 192e0282d23863ec80375a77011012ef8cb80f77 is not a valid object
我尝试重置它,但它没有做任何事情
git reset HEAD 192e0282d23863ec80375a77011012ef8cb80f77
git gc
我该如何解决这个问题?
更新:文件仍然很好,所以我只是克隆了一个新的 repo 实例并手动移动了文件(很高兴这不是唯一的 repo 实例!)。但是,我保留了损坏的存储库,以便我可以尝试在此处发布的修复,以防下次。
【问题讨论】:
-
+1 表示运气难以置信。
-
+1 用于备份。自我验证默克尔树的好处是它们可以原子地验证自己。问题是,嗯......他们以原子方式验证自己!这是一个 'error detection' != 'error correction' 的例子,而且是报复性的!
标签: git repository