Przepraszamy za niejednoznaczny tytuł. Jeśli ktokolwiek może wymyślić coś lepszego, edytuj to, aby dać mi znać.Naprawianie uszkodzonego repozytorium git. Brak domyślnej wersji "HEAD"
Niedawno usunąłem repozytorium git i wyrejestrowałem nową kopię z serwera. Niestety, kiedy to zrobiłem, zapomniałem, że używam git-new-workdir
(myślałem, że sklonowałem moje repo sprawdzane dwa razy). Teraz nie mogę nic zrobić w moim „WORKDIR”:
$ git log
fatal: bad default revision 'HEAD'
i git status
ustępuje więcej zmian niż powinno. Czy ktoś ma jakieś przemyślenia na temat tego, jak mogę to naprawić?
Więcej informacji:
Running git fsck
daje mi następujące:
$ git fsck
notice: HEAD points to an unborn branch (dipole_fix)
missing blob d92f4a4f53c95c375146d9623910d8ec214aa02f
missing blob 7d81095605082af3252a47b47d81e48d4a78a668
missing blob f5d21b7785c4bca4efaa91ce5ef5a8bd82d98792
missing blob 79d3ad61db697ca7e89dbfd089a472dab0a7851b
missing blob 2cf0e64cbc0a816d7dc1b26fef43c2eb7c4fb6ac
Na co warto, mam zdalny oddział z dipole_fix
oddział na niego. Powinien być (stosunkowo) aktualny.
Aktualizacja 1 - Patrząc na zawartość .git
w katalogu roboczym, wydaje się, że mam kilka zwisających dowiązań symbolicznych.
lrwxrwxrwx 1 mgilson mgilson 39 2012-04-26 10:43 remotes -> /orig_repo/.git/remotes
lrwxrwxrwx 1 mgilson mgilson 40 2012-04-26 10:43 rr-cache -> /orig_repo/.git/rr-cache
lrwxrwxrwx 1 mgilson mgilson 35 2012-04-26 10:43 svn -> /orig_repo/.git/svn
Update 2 - Naievly łącząc remotes
do /orig_repo/refs/remotes
wydaje się pozbyć z głowy "złe" problem, ale teraz git status
daje mi:
error: unable to find d92f4a4f53c95c375146d9623910d8ec214aa02f
error: unable to find d92f4a4f53c95c375146d9623910d8ec214aa02f
error: unable to find f5d21b7785c4bca4efaa91ce5ef5a8bd82d98792
error: unable to find f5d21b7785c4bca4efaa91ce5ef5a8bd82d98792
error: unable to find 79d3ad61db697ca7e89dbfd089a472dab0a7851b
error: unable to find 79d3ad61db697ca7e89dbfd089a472dab0a7851b