почему git сначала сжимает объекты, а затем получает их? я думаю, что это должно быть обратное

remote: Counting objects: 666377, done. remote: Compressing objects: 100% (150501/150501), done. Receiving objects: 0% (2171/666377), 756.00 KiB | 119 KiB/s 

мое подозрение в том, что как можно сжать объекты, прежде чем они будут перенесены на мой компьютер? это unbelievalbe, так как мы должны сначала получить файлы, а затем сжать его.

так это ошибка в этой информации о выходе git с неправильным порядком?

Solutions Collecting From Web of "почему git сначала сжимает объекты, а затем получает их? я думаю, что это должно быть обратное"

Git пытается уменьшить объем данных, отправляемых по (медленной) сети на ваш компьютер, поэтому он сжимает « свободные объекты » перед их отправкой.

Обратите внимание, что фактически не «сжимает» файлы с помощью архиватора, такого как gzip . Вместо этого он создает оптимальный набор исправлений, просматривая файлы в предыдущих 50 наборах изменений. Эти (двоичные) патчи являются наименьшим набором байтов, которые представляют собой полное состояние системы (включая все изменения, разности, фиксации сообщений и т. Д.).

Этот шаг немного дороже (как вы заметите, когда у вас много свободных объектов), поэтому git делает только этот шаг, когда это необходимо.