Jest to jeden z licznych pytań dotyczących repo Git, który jest uszkodzony, właśnie luźne obiektu, który poszedł źle:Git uszkodzone repo: jak wybrać obiekt git z czystym repozytorium
$ git gc
Counting objects: 3299, done.
error: inflate: data stream error (unknown compression method)
error: unable to unpack 831a5d31af4a0af2f5a367689bee27a44efc22c9 header
Delta compression using up to 6 threads.
Compressing objects: 100% (3283/3283), done.
error: inflate: data stream error (unknown compression method)
fatal: loose object 831a5d31af4a0af2f5a367689bee27a44efc22c9 (stored in .git/objects/83/1a5d31af4a0af2f5a367689bee27a44efc22c9) is corrupt
error: failed to run repack
Następujące istniejące odpowiedzi na ten temat (How do I deal with corrupted git object files?, How to fix corrupted git repository? lub What can I do with Git corruption due to a missing object?) Usunąłem już obiekt 831a5d31
z uszkodzonego repozytorium.
W moim przypadku mam klon repozytorium, który wydaje się posiadać obiekt, którego mi brakuje, ale nie ma pliku pod adresem objects/83/1a5d31af4a0af2f5a367689bee27a44efc22c9
. Jak mogę naprawić moje repozytorium?
Działa to w przypadku obiektów typu blob; czy istnieje sposób na importowanie/eksportowanie obiektów drzewa? – fuzzyTew
Aby odpowiedzieć na własne pytanie, aby zrobić to dla obiektów drzewa itp: 'git drzewo-plik cat> temp' ' git hash-object -t drzewo -w temp' –
fuzzyTew
Dzięki, uratowałeś moje repo! Zauważ, że jeśli twoje czyste repozytorium pochodzi z innego systemu operacyjnego, SHA1 może nie pasować, jeśli zakończenia linii nie są takie same w różnych systemach operacyjnych. Rozwiązanie nadal działało. – mrm