Если git gc
не работает, попробуйте вручную запустить git repack
, а затем git gc
.
Мои наблюдения с SVN, Git и Hg:
Я всегда замечал, что SVN и Hg-репозитории были намного меньше, чем соответствующие git-репозитории. Это потому, что каждое изменение в файле - текстовом или двоичном, добавляет новый полный объект для него. В SVN добавляется только diff, даже в случае двоичных файлов, и двоичное различие в SVN также очень хорошее.
Но именно здесь приходят файлы пакета, поскольку они хранят только diff (delta) среди похожих объектов и даже сжимаются. Я заметил, что даже с упаковкой Git-репозитории, в зависимости от типа файлов и количества изменений, которые претерпевают эти файлы, имеют тенденцию быть больше. Это то, что я решил принять с Git, и это компромисс, который я готов принять, учитывая, насколько быстро выполняются различные операции с Git.