Как выполнить git-клон для большого проекта на нестабильном соединении? - PullRequest
174 голосов
/ 17 октября 2010

Я пытаюсь скопировать кодовую базу LibreOffice, но на данный момент у меня есть интернет-соединение со скоростью около 300 кбит / с, и оно стабильно.Я могу восстановить соединение в любой момент, но затем процесс git clone уже перестал работать, и я не смог запустить его снова.Есть ли какой-нибудь способ получить более устойчивую к сбоям загрузку git-клона?

Один из вариантов, который я считал для себя, - это скачивание чужого каталога .git, но он чрезмерно зависит от других и не кажется лучшимвозможное решение для меня.

Ответы [ 16 ]

2 голосов
/ 26 октября 2013

Используйте CNTRL Z, чтобы остановить клонирование.Не закрывайте терминал, переведите систему / ноутбук в спящий режим, а затем продолжите работу с помощью команды fg.Сегодня я столкнулся с той же проблемой, пытаясь клонировать репозиторий из github.Это помогло мне сэкономить время.

1 голос
/ 01 августа 2014

Используйте git-прокси, например ngitcached или git-proxy .

0 голосов
/ 19 апреля 2019

Я хотел бы поставить свои 5 центов здесь. Это действительно то, что помогло мне решить эту проблему

  • отключить сжатие
  • увеличение http.postBuffer
  • сделать частичный клон
  • перейдите в клонированный каталог и получите оставшуюся часть клона
  • потяните на себя
git config --global core.compression 0
git config --global https.postBuffer 524288000
git clone  <your_git_http_url_here> --depth 1
git fetch --unshallow 
git pull --all

Это помогло мне клонировать ~ 3 ГБ репо по ADS-соединению на 8 Мбит / с, конечно, мне приходилось выполнять выборку и извлечение несколько раз, но все же ...

0 голосов
/ 02 октября 2018

Та же проблема здесь - у меня очень слабое интернет-соединение, часто с частотой не более 10-15 кбит / с: -P

Для меня способ wget работал очень хорошо.Перейдите на сайт репозитория, где находится зеленая кнопка «клонировать или загрузить», щелкните ее и скопируйте ссылку опции загрузки ZIP.

Затем вставьте ссылку в команду wget:
wget -c -m -np https://github.com/your/repository/archive/master.zip

Работает как шарм ...

0 голосов
/ 12 марта 2018

, если мы предполагаем, что у сервера хорошая полоса пропускания (и у вас есть сервер), другой ответ:

  1. создайте свой собственный сервер, используя Server-Side Git Wrapper 's
  2. клонируйте его на своем сервере
  3. Сжатие с помощью Server-Side Zip Archiver
  4. загрузка с сервера и с Возобновить поддержку

, но это работает только с очень базовым опытом веб-разработки;) а также вам нужно git.exe на вашем сервере

0 голосов
/ 18 октября 2010

Вы можете попробовать использовать mercurial с расширением hg-git.

Если это не сработает, вы можете использовать git fetch <commit-id>, чтобы получить только части удаленного репозитория git (вы можете получить впустой git-репозиторий, нет необходимости создавать его с помощью клона).Но вы можете исправить конфигурацию веток (= создать локальные и удаленные ветки отслеживания) при использовании этого подхода.

...