Dziś rano zacząłem otrzymywać ten błąd z gita:
fatal: plik indeksu mniejszy niż oczekiwano
fatal: git status --porcelain failed
Masz pojęcie, co się dzieje i jak to rozwiązać?
Dziś rano zacząłem otrzymywać ten błąd z gita:
fatal: plik indeksu mniejszy niż oczekiwano
fatal: git status --porcelain failed
Masz pojęcie, co się dzieje i jak to rozwiązać?
Odpowiedzi:
Plik indeksu został uszkodzony, ale można go łatwo odtworzyć. Po prostu go usuń ...
rm .git/index
Następnie możesz ponownie dodać pliki, które próbujesz przygotować.
git add .zachowywał się tak, jakby każdy plik był nowy i wymagał zatwierdzenia.
git restore --stagedokaże się, że po uruchomieniu tego musiałem zrobić i rozwiązało to problem z myśleniem gita, że wszystko trzeba ponownie
Jeśli chcesz zachować lokalne zmiany, użyj:
$ rm .git/index
$ git reset HEAD .
> Unstaged changes after reset:
modified foo.txt
modified bar.txt
.git/modules/src). To sprawiło, że zacząłem się zastanawiać, dlaczego błąd nadal występuje po usunięciu (głównego) pliku indeksu.
Tym, którzy mają problemy nawet po usunięciu indeksu i nie mogą zrobić resetu. Jeśli chcesz zachować zmiany, wykonaj następujące czynności (nie jest to rozwiązanie, ale raczej brzydkie obejście!).
Mój przypadek był taki, jak opisano powyżej, git pomieszał swoje odniesienia ... Git logpokazywał "Twoja gałąź wydaje się być zepsuta" i git fsckostrzegał mnie o błędnych referencjach. Pomyślałem, że prawdopodobnie mogę to naprawić, ale spędziłbym dużo czasu, robiąc to, więc poszedłem na brzydkie obejście.