Это потому, что git не масштабируется.
Это серьезное ограничение в git, которое игнорируется защитой git. Поищите в списках рассылки git, и вы найдете сотни пользователей, которые задаются вопросом, почему всего лишь скудные 100 МБ изображений (скажем, для веб-сайта или приложения) ставят git на колени. Проблема заключается в том, что почти весь git полагается на оптимизацию, которую они называют «упаковкой». К сожалению, упаковка неэффективна для всех текстовых файлов, кроме самых маленьких (т.е. исходного кода). Хуже того, он становится все менее и менее эффективным по мере увеличения истории.
Это действительно досадный недостаток в git, который рекламируется как «быстрый» (несмотря на отсутствие доказательств), и разработчики git хорошо об этом знают. Почему не починили? В списке рассылки git вы найдете ответы от разработчиков git, которые не распознают проблему, потому что документы Photoshop (* .psd) являются проприетарным форматом. Да, это действительно так плохо.
Вот результат:
Используйте git для крошечных проектов только с исходным кодом, для которых вам не хочется создавать отдельное репо. Или для небольших проектов только с исходным кодом, где вы хотите воспользоваться моделью децентрализованной разработки git copy-the-all-repo. Или когда вы просто хотите изучить новый инструмент. Все это веские причины использовать git, и всегда интересно изучать новые инструменты.
Не используйте git, если у вас большая база кода, двоичные файлы, огромная история и т. Д. Только один из наших репозиториев - TB. Git не может с этим справиться. VSS, CVS и SVN прекрасно справляются с этим. (Однако SVN раздувается.)
Также дайте git время созреть. Он еще незрелый, но набирает обороты. Я думаю, что со временем практическая природа Линуса превзойдет пуристов OSS, и git, в конечном итоге, можно будет использовать в более широкой области.
git-bigfilesпроекта