Zatylizowałem całą moją pracę i wolałem nie wyjaśniać, w jaki sposób.
Jedyne, co pozostało, to obiekty git. Bardziej niż wszystko, co chciałbym odzyskać z niektórych utraconych plików graficznych. Z rozmiaru plików obiektowych mogę stwierdzić, jakie one są. Czy istnieje sposób, aby z powrotem je wykorzystać w pliki użytkowe?Odzyskiwanie plików z obiektów Git
Odpowiedz
Pierwsza rzecz: zrób kopię zapasową! następnie popracuj nad kopią tej kopii zapasowej.
Jeśli obiekty git nadal znajdują się we właściwym katalogu (.git/objects/xx/xxx…
), możesz użyć git fsck --full
, aby git je odkrył - prawdopodobnie wypisze każdy obiekt w twoim repozytorium. teraz szukaj tych oznaczonych jako commit
i tag
, to te, które chcesz odzyskać.
Prawdopodobnie użyłbym skryptu, który tworzy odgałęzienie dla każdego znalezionego obiektu zatwierdzenia (na przykład po prostu przypisywanie numerów rescue-1
, rescue-2
itp.). następnie użyj gitk --all
, aby zwizualizować wszystkie gałęzie i wybrać górny (ostatni). utwórz nowy oddział tam rescued-master
.
Sprawdź swój nowy główny oddział i uruchom git branch --no-merge
. powinieneś otrzymać listę rozgałęzionych zatwierdzeń, nie zawartych w master. prawdopodobnie również chcesz nadać im nową nazwę oddziału.
po zakończeniu usuń wszystkie ponumerowane numery rescue-
.
nadzieję, że pomaga i daje punkt wyjścia.
tylko obiekty git? brak informacji/oddziałów/tagów? pierwsza rzecz: tworzenie kopii zapasowych – knittl