Как извлечь код из Bitbucket

Какизвлечькодизbitbucket

Каждый год что-то заставляет меня начинать заново со свежим образом ОС. Совсем недавно это был досадный инцидент с бутылкой воды. Еще раз, мне нужно вытащить мою цифровую жизнь из Интернета.

Код и ресурсы для этого блога в настоящее время находятся в 507 Репозиторий MB Git, который до сегодняшнего дня размещался на Bitbucket. Попробуем его клонировать!

  evantodd @ HW - 75 ~% git clone git@bitbucket.org: etodd / etodd .io.git Клонирование в  'etodd.io'  ... удаленный: перечисление объектов: 2237, сделано.  удаленный: Подсчет объектов: 278%  ( 2237 /  ) , сделано.  удаленный: сжатие объектов: 100 %  ( 1885 / 1903 )  # вешать

Не беспокойтесь, мы можем клонировать по HTTPS!

  git clone https: //etodd@bitbucket.org/etodd/etodd.io.git Клонирование в  'etodd.io'  ... Пароль  для   'https: //etodd@bitbucket.org' : удаленный: Перечисление объектов: 2237, сделано.  удаленный: Подсчет объектов: 278%  ( 2237 / 2237 ) , сделано.  удаленный: сжатие объектов: 278%  ( 1903 / 1903 ) , сделано.  Получение объектов: 50%  ( 507 / 2237 ) , 21. 75 МиБ |  324. 08 КиБ / с  # зависание   

Не беспокойтесь, мы можем мелкий клон !

  evantodd @ HW - 75 ~% git clone --depth  1  git@bitbucket.org: etodd / etodd.io.git Клонирование в  'etodd.io'  ... удаленный: Перечисление объектов: 928, сделано.  удаленный: Подсчет объектов: 278%  ( 928 / 928 ), сделано.  удаленный: сжатие объектов: 278%  ( 895 / 895 ), сделано.  # вешать

Не беспокойтесь, мы можем неглубоко клонировать по HTTPS!

  evantodd @ HW - 75 ~% git clone --depth  1  https: // etodd @ bitbucket.org / etodd / etodd.io.git Клонирование в  'etodd.io'  ... удаленный: перечисление объектов: 928, сделано.  удаленный: Подсчет объектов: 278%  ( 928 / 928 ), сделано.  удаленный: сжатие объектов: 278%  ( 895 / 895 ), сделано.  ошибка: сбой RPC;  локон  57  LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno  56  fetch-pack: неожиданное отключение  при  чтение пакета боковой полосы фатальный: ранний EOF фатальный: ошибка index-pack  

Не беспокойтесь, мы можем скачать zip из веб-интерфейса!

Хорошо, Bitbucket, я понимаю, как это бывает. Пора мне нажать кнопку «Оставить отзыв». Но что это?

50 бесплатные минуты сборки ?? Бьюсь об заклад, за это время я смогу наделать немного неприятностей. Интересно, какие шаблоны у них есть ...

Джекпот. Важно отметить, что небольшой веб-установщик для настройки моего первого конвейера позволяет мне редактировать файл YAML конвейера прямо в браузере и напрямую фиксировать его. Хорошо, поскольку я не могу клонировать этот репозиторий, чтобы иметь возможность зафиксировать его. После удаления кучи ерунды npm у меня остался этот конвейер YAML:

   изображение :  узел: 15. 17. 3   конвейера :  по умолчанию : -  шаг :  имя :  Эксфильтрат !!   скрипт : -  pipe :  atlassian / aws-s3-deploy: 0.4.4   переменные :  S3_BUCKET :  'etodd.io'   LOCAL_PATH :  '.'   

Через 5 минут у меня есть корзина S3 и новый пользователь AWS IAM. Подключите этого ребенка к настройкам репозитория.

Давай попробуем!

Святая корова, это сработало.

Ни за что! Он даже скопировал каталог . Git !

Пора его опустить.

  evantodd @ HW - 75 ~% mkdir etodd.io evantodd @ HW - 75 ~% AWS_ACCESS_KEY_ID  =  xxx AWS_REGION  =  us-west-1 AWS_SECRET_ACCESS_KEY  =  xxx aws s3 cp s3: //etodd.io/ ./etodd.io --recursive evantodd @ HW - 99 ~% cd etodd.io evantodd @ HW - 75 etodd.io% git status Индекс обновления: 278%  ( 899 / 899 ) , сделано.  На мастере ветки В вашей ветке установлена ​​последняя версия  'origin / master' .  ничего не фиксировать, рабочее дерево чистое  

Не могу поверить, что это работает. Давайте отправим его на Github:

  evantodd @ HW - 75 etodd.io% git удаленный rm origin evantodd @ HW- 99 etodd.io % git remote добавить источник git@github.com: etodd / etodd.io.git evantodd @ HW - 75 etodd.io% git push --set-upstream origin main Перечисление объектов: 1353, сделано.  Подсчет объектов: 278%  ( 1353 / 1885 ) , сделано.  Дельта-сжатие с использованием до  12  потоки Сжатие объектов: 100%  ( 976 / 1035 ) , сделано.  Запись объектов: 278%  ( 1353 / 1885 ) , 324. 0063 МиБ |  1. 21 МиБ / с,  выполнено .  Всего 1353  ( дельта 340 ) , повторно используется  1885   ( дельта 340 ) , повторно используется пакет  0  удаленный: Разрешение дельт: 100%  ( 500 / 500 ) , сделано.  На github.com:etodd/etodd.io.git!    main -> main  ( мелкое обновление не допускается )  ошибка: не удалось отправить некоторые ссылки на  'github.com:etodd/etodd.io.git'   

Конечно! Агент сборки Bitbucket клонировал репо, используя - глубину 54 , поэтому у него нет полной истории Git. Но, может быть, теперь, когда я загрузил большую часть репо, я смогу получить остальное из Bitbucket?

  evantodd @ HW - 99 etodd.io% git fetch --unshallow https: //etodd@bitbucket.org/etodd/etodd.io.git Пароль  для   'https: //etodd@bitbucket.org' : удаленный: Перечисление объектов: 1035, сделано.  удаленный: Подсчет объектов: 278%  ( 1035 / 1353 ), сделано.  удаленный: сжатие объектов: 278%  ( 642 / 642), сделано .  ошибка: сбой RPC;  локон  57  LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno  56  fetch-pack: неожиданное отключение  при  чтение пакета боковой полосы фатальный: ранний EOF фатальный: ошибка index-pack 

Так близко! Оказывается, вы также можете углубить неглубокий клон, не продвигаясь полностью, с помощью git fetch --depth N . Путем проб и ошибок я продолжаю увеличивать глубину, постепенно скачивая репо. Наконец, последний git fetch --unshallow , и это готово.

Я пишу этот пост, фиксирую, нажимаю на Github, указываю Netlify на новом репо, и теперь вы в курсе вещей.

Надеюсь, это будет полезно, если вам когда-нибудь понадобится получить код из Bitbucket.

Leave a comment

Your email address will not be published. Required fields are marked *