Ошибка: фатальный свободный объект ### (хранится в .git / objects / .... поврежден) - PullRequest
4 голосов
/ 26 июля 2011

Я только что запустил gitk как обычно, но на этот раз я получил сообщение о фатальной ошибке:

fatal: loose object 58008283f6ad152ac44a1b6da961795ababe5b93 (stored in .git/objects/58/008283f6ad152ac44a1b6da961795ababe5b93) is corrupt
fatal: loose object 58008283f6ad152ac44a1b6da961795ababe5b93 (stored in .git/objects/58/008283f6ad152ac44a1b6da961795ababe5b93) is corrupt
    while executing
"close $gdtf"
    (procedure "gettreediffline" line 36)
    invoked from within
"gettreediffline file1071e148 58008283f6ad152ac44a1b6da961795ababe5b93"
    ("eval" body line 1)
    invoked from within
"eval $script"
    (procedure "dorunq" line 11)
    invoked from within
"dorunq"
    ("after" script)

Я нажал OK в окне сообщения об ошибке, вышел gitk, затем снова запустил gitk - на этот раз все прошло без ошибок (как обычно).

Что означает эта ошибка и почему я ее получил?

Должен ли я начать беспокоиться о целостности своего хранилища? (на данный момент все еще локально, в подкаталоге .git)

ОБНОВЛЕНИЕ: Я просто запустил git fsck, как предложено ниже, и получил:

git fsck
dangling blob 6302f0a93a8d793b473e1a1976f221827b595ed7
dangling blob 5246a9d7408b1d5d01e9c471a67c1f0866f0d626
dangling blob ec08d18657f37e5bbdbebc7dc25615037b532463
dangling blob 8b69b97bdc45f3c86405f67a5f396d122408ad64
dangling blob aa39e78673ec3f2cb575798be1d2b4555c637475
  1. Что значит "болтающийся шарик"?
  2. Как это могло случиться?
  3. Есть ли способ это исправить?

1 Ответ

3 голосов
/ 26 июля 2011

Так как git fsck чист, и вы больше не видите ошибку, я рискну предположить, что в памяти было какое-то повреждение.

Я знаю, что вы сказали, что работали только локально и не хотите делиться, но все равно неплохо иметь резервную копию, по крайней мере, на другом диске и предпочтительно в другом физическом месте. Если вы не против того, чтобы ваш проект был открытым, вы можете использовать github или бесплатно.

Ссылки на резервное копирование git-репо

...