Как получить коммиты Git небольшими партиями

Возможно ли получить удаленный репозиторий без извлечения всех коммитов, которые отсутствуют, но, скажем, партиями по 100 коммитов?

У меня есть репозиторий на моем компьютере, который используется в качестве ссылки для других репозиториев, чтобы ускорить время развертывания. К сожалению, я некоторое время не обновлял его, и он не синхронизирован с удаленным репозиторием. GitHub ужасно медленный (40-50 кбит / с), и у меня есть около 150 МБ для загрузки. Это еще менее забавно, когда Git перестает скачивать на 81%....

Есть ли способ уменьшить количество коммитов для получения? Я думал использовать --depth аргумент, но у меня нет мелкого репозитория Git, и я не хочу, чтобы он стал таким. Так же --depth кажется, не работает как выборка фиксирует с этой даты до этой даты (что было бы также неплохо). Так что я мог бы получать коммиты день за днем, если это возможно.

Проблема в том, что при сбое извлечения мне нужно перезапустить с того места, где я находился до начала извлечения. Я хотел бы иметь возможность получать меньшие куски, поэтому, если это не удастся, мне не придется загружать 150 МБ снова и снова на низкой скорости.

1 ответ

Второе предложение @Vampire, если вы можете попробовать переключить протоколы; Я обнаружил, что SSH гораздо более надежен, чем HTTPS, для передачи данных Git.

AFAIK, невозможно перечислить коммиты в удаленном репозитории (вы можете получить только последний SHA для данной ветки). (Если бы это было так, то я бы просто изменил свой ответ на "Как установить максимальное количество коммитов на git push".) Однако, если у вас есть удобный SHA коммит, вы можете указать коммит для загрузки с помощью:

git fetch origin 96de5297df870:refs/remotes/origin/master

(Это обновит ваш origin/master отслеживание ветви, чтобы указать на этот коммит.)

Поскольку ваш код размещен на GitHub, я рекомендую вам проверить журнал на GitHub и извлекать конкретные коммиты, подобные этой, пока вы не будете в курсе. Кроме того, вместо того, чтобы извлекать определенное количество коммитов за раз, я предлагаю вам разделить коммиты, чтобы выяснить, сколько вы можете загрузить за один раз.

Другие вопросы по тегам