Brandon Thomson zapytał w komentarzu do rozwiązania Rainer Blome „s czy to po prostu stała na stanowisku gitk lub jeśli sędziowie będą naprawdę zniknął. Dobrym sposobem na sprawdzenie tego jest, aby pamiętać jedną z mieszań SHA1 (lub unikalny prefiks nim) starego zatwierdzeń i spróbuj
$ git ls-tree hash-value
ten powinien pokazać treść repo głównym folderze, jak to było w to zatwierdzenie. Po
$ rm -Rf .git/refs/original
$ rm -Rf .git/logs/
jak wynika VonC i usuwanie refs/original/…
linie z .git/info/refs
i .git/packed-refs
jak wynika Rainer Blome, ostateczna
$ git gc --prune=now
wykonane nie tylko sędziowie, ale także stare obiekty (zatwierdzenia, drzewa i obiekty blob) znikają. Pokazany powyżej git ls-tree hash-value
to potwierdza. Kolejną miłą komendą do sprawdzenia tego jest git count-objects -v
(uruchom przed filtrem-brach i po przycięciu i porównaj rozmiar).
Uwaga: Nie mam jeszcze uprawnień do komentowania innych odpowiedzi, musiałem napisać nowy, chociaż głównie łączy on poprzednie podane odpowiedzi.
Nie jestem pewien, ale czy próbowałeś już uruchomić 'git gc'? Może nadal są tam jako śmieci ... –
@Martinho: tak, jestem – adk
Będziesz musiał usunąć wszystkie stare referencje (np. Nazwy oddziałów, tagi), a potem możesz uruchomić 'git gc --aggressive'. – vdboor