Mam repozytorium z tylko jednym zatwierdzeniem, które ma wyewidencjonowany rozmiar 95M. Jednak nie mogę uzyskać rozmiaru folderu .git poniżej 213M. Jeśli jednak utworzę nowe repozytorium o tej samej zawartości pliku, otrzymam folder .git o rozmiarze tylko 38M.Dlaczego git nie zmniejszy jeszcze rozmiaru repozytorium?
Czy istnieje sposób, aby odbudować swoje obiekty w taki sposób, aby uzyskać rozmiar bardziej zgodny z figurą z tworzenia nowego repozytorium?
Próbowałem zarówno git gc --prune=now --aggressive
i git repack -adf --window=250 --depth=250
, aby zmniejszyć rozmiar repozytorium. Sprowadzili repozytorium z oryginalnego 220M.
Wyobrażam sobie, że git musi mieć gdzieś referencje, które uniemożliwiają odśmiecanie śmieci, ale nie wiem, gdzie byłyby. Usunąłem wszystkie piloty i gałęzie i nie widzę niczego innego niż mój obecny oddział pod „sędziowie”
$ ls -R .git/refs
.git/refs/:
heads tags
.git/refs/heads:
master
.git/refs/tags:
stworzyłem repozytorium z istniejącego jednego z dłuższą historią. Użyłem checkout --orphan
, aby utworzyć nową bezpodstawną gałąź, a następnie zatwierdziłem, aby utworzyć nowe zatwierdzenie ze stanem repozytorium. Następnie usunąłem oryginalną gałąź i usunąłem piloty przed uruchomieniem gc
.
$ git --version
git version 1.9.4.msysgit.0
Wyczyść reflogi, prawdopodobnie tam, gdzie coś się ukrywa. – torek
możliwy duplikat [Zmniejszenie rozmiaru repozytorium git] (http://stackoverflow.com/questions/2116778/reduce-git-repository-size) –
@AndrewC To jest to, co próbowałem użyć i gdzie dostałem polecenie 'gc' powyżej, ale w tym czasie nie wspomniał o reflogu. – vossad01