Jaki jest prosty sposób na znalezienie rozmiaru mojego repozytorium Git?
I nie mam du -h
na myśli katalogu głównego mojego repozytorium. Mam wiele ignorowanych plików, więc rozmiar ten będzie różny od mojego całkowitego rozmiaru repozytorium. Zasadniczo chcę wiedzieć, ile danych zostanie przeniesionych po sklonowaniu mojego repozytorium.
Odpowiedzi:
Do różnych pomysłów na „pełny rozmiar” możesz użyć:
Zamknij (ale nie dokładnie :)
W przypadku tego ostatniego liczyłbyś również:
źródło
git bundle
igit gc
faktycznie robi? czy utworzy kolejne (niechciane) archiwum, a następnie zmierzy rozmiar?du
do pomiaru rozmiaru tego pliku.Zauważ, że od wersji 1.8.3 git (22 kwietnia 2013) :
Można to połączyć z
-v
opcją wymienioną przez Jacka Morrisona w jego odpowiedzi .(
git gc
Ważne jest, jak wspomniano przez ABB „s odpowiedzi )Plus (wciąż git 1.8.3), dane wyjściowe są bardziej kompletne:
źródło
Polecenie git
da ci dobre oszacowanie rozmiaru repozytorium git. Bez flagi -v pokazuje tylko rozmiar rozpakowanych plików. To polecenie może nie znajdować się w $ PATH, być może będziesz musiał go wyśledzić (na Ubuntu znalazłem go w / usr / lib / git-core /).
Ze strony podręcznika Git:
Twój wynik będzie wyglądał podobnie do następującego:
Linia, której szukasz, to
size-pack
. Jest to rozmiar wszystkich spakowanych obiektów zatwierdzenia lub najmniejszy możliwy rozmiar nowego sklonowanego repozytorium.źródło
git count-objects -v
działa, gdygit-count-objects -v
nie działa (ponieważ nie ma go w mojej ŚCIEŻCE).git gc
przed uruchomieniem,git count-objects -v
ponieważ Twoje repozytorium może nie być jeszcze spakowane. Zobacz pierwszą odpowiedź tutaj na dowody: stackoverflow.com/questions/3532740/…git count-objects -vH | grep 'size-pack'
. MaH
to pokazać go w formacie czytelnym dla człowieka, jak powiedział @VonC w swojej odpowiedzi.git count-objects --help
: size-pack: miejsce na dyskuMożesz użyć
git-sizer
. W--verbose
ustawieniu przykładowe dane wyjściowe to (poniżej). PoszukajTotal size of files
linii.źródło
Jeśli używasz git LFS, git count-objects nie liczy twoich plików binarnych, a jedynie wskaźniki do nich.
Jeśli twoje pliki LFS są zarządzane przez Artifactorys, powinieneś użyć interfejsu API REST:
źródło
Myślę, że daje to pełną listę wszystkich plików w historii repo:
Można zastąpić
--all
drzewiastym (HEAD
,origin/master
itp.), Aby obliczyć rozmiar gałęzi.źródło
Jeśli repozytorium znajduje się na GitHub , możesz użyć otwartej aplikacji Octodroid na Androida, która domyślnie wyświetla rozmiar repozytorium.
Na przykład z repozytorium mptcp :
Oświadczenie: Nie stworzyłem Octodroid.
źródło