Подтвердить что ты не робот

Потяните обновления с помощью git после клонирования с --depth 1

Сегодня утром я сделал неглубокий клон источников Linux

git clone --depth 1 https://github.com/torvalds/linux.git

в результате чего появилась папка linux из 851Mb.

Теперь я хотел бы сделать последние изменения, но

git pull

начинается кажущаяся огромная загрузка. После 60Mb я нахожусь на 3%, который экстраполируется на 2Gb. Тем не менее, 5 коммит, так как мой клон меняет только кучу строк.

Я что-то делаю неправильно? Что такое 2Gb, который пытается загрузить git?

4b9b3361

Ответ 1

Я думаю, что вы можете использовать --depth 1 в git pull тоже, поэтому он получает именно то, что необходимо для новейшей фиксации в репозитории.

Я не знаю, не по умолчанию ли поведение по умолчанию, потому что мой git help pull показывает эту опцию:

git pull --unshallow

или

git fetch  --unshallow

- unshallow            Преобразуйте мелкий репозиторий в полный, удалив все ограничения, наложенные мелкими репозиториями.

Я запускаю git version 1.8.5.2 (Apple Git-48), и, возможно, это какое-то новое поведение и немного меняется между версиями.

Ответ 2

Может ли любой из новых коммитов быть слиянием-коммитами, указывающими на коммиты, отсутствующие в вашем дереве? Возможно, --depth 1000 будет работать лучше и все еще будет достаточно маленьким.