Какой простой способ узнать размер моего Git-репозитория?
И я не имею в виду du -h
корневую директорию моего хранилища. У меня много игнорируемых файлов, поэтому этот размер будет отличаться от общего размера моего хранилища. По сути, я хочу знать, сколько данных будет передано при клонировании моего хранилища.
Ответы:
Для разных идей «полного размера» вы можете использовать:
Закрыть (но не точно :)
С последним вы также будете считать:
источник
git bundle
и наgit gc
самом деле делает? это создаст другой (нежелательный) архив и затем измерит размер?du
чтобы измерить размер этого файла.Обратите внимание, что начиная с git 1.8.3 (22 апреля 2013 г.) :
Это может быть объединено с
-v
вариантом, упомянутым Джеком Моррисоном в его ответе .(
git gc
Важно, как было упомянуто ABB «S ответ )Плюс (все еще git 1.8.3), вывод более полный:
источник
Команда git
даст вам хорошую оценку размера репозитория git. Без флага -v он только сообщает размер распакованных файлов. Эта команда может отсутствовать в вашем $ PATH, возможно, вам придется ее отследить (например, в Ubuntu я нашел ее в / usr / lib / git-core /).
С man-страницы Git:
Ваш вывод будет выглядеть примерно так:
Линия, которую вы ищете, это
size-pack
. Это размер всех упакованных объектов фиксации или наименьший возможный размер для нового клонированного репозитория.источник
git count-objects -v
работает, когдаgit-count-objects -v
нет (потому что это не в моем PATH).git gc
перед запуском,git count-objects -v
потому что ваш репозиторий еще не упакован. См. Первый ответ здесь для доказательства: stackoverflow.com/questions/3532740/…git count-objects -vH | grep 'size-pack'
. ЭтоH
должно показать это в удобочитаемом формате, как сказал @VonC в своем ответе.git count-objects --help
: size-pack: дисковое пространство, занимаемое пакетами, в КиБах (если не указано -H)Вы могли бы использовать
git-sizer
. В--verbose
настройках пример вывода (ниже). ИщитеTotal size of files
линию.источник
Если вы используете git LFS, git count-objects не считает ваши двоичные файлы, а только указывает на них.
Если ваши файлы LFS управляются Artifactorys, вы должны использовать REST API:
источник
я думаю, что это дает вам полный список всех файлов в истории репо:
Вы можете заменить
--all
на дерево (HEAD
,origin/master
и т. Д.), Чтобы рассчитать размер ветви.источник
Если репозиторий находится на GitHub , вы можете использовать приложение Android с открытым исходным кодом Octodroid которое по умолчанию отображает размер хранилища.
Например, с хранилищем mptcp :
Отказ от ответственности: я не создал Octodroid.
источник