Как перенести репозиторий из GitHub

Назначение

В этом документе описаны шаги, необходимые для переноса репозиториев из GitHub в Fedora Forge, обеспечивающие корректный перенос содержимого репозиториев, заявок и запросов на включение в новую платформу на основе Forgejo.

Область применения

Эта процедура применима к участникам проекта Fedora, которым необходимо перенести репозитории из GitHub на новую платформу Fedora Forge. Это включает подпроекты, группы особых интересов (SIG) и другие официальные репозитории проекта Fedora.

Предварительные требования

  • Доступ к репозиторию: У вас должен быть доступ к исходному репозиторию на GitHub и необходимые права для создания репозиториев в целевой организации на Fedora Forge.

  • Права в организации: У вас должна быть возможность создавать репозитории в целевом пространстве имён в Fedora Forge. Если у вас нет этих прав, обратитесь к участнику соответствующего подпроекта или SIG, или свяжитесь с командой инфраструктуры Fedora.

  • Токен личного доступа: Вам нужно будет создать токен личного доступа в GitHub для процесса переноса.

Поскольку Fedora Forge на основе Forgejo содержит только те репозитории, которые играют ключевую роль в разработке, тестировании, сопровождении и эксплуатации предлагаемого проектом Fedora дистрибутива Fedora Linux, пожалуйста, используйте её только для этих репозиториев — и не для каких-либо других личных репозиториев.

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

Мы рекомендуем перенести ваши другие личные репозитории, имеющиеся на GitHub, в Codeberg, который также основан на Forgejo и поддерживает нативный перенос содержимого репозиториев, заявок и запросов на включение из GitHub с помощью инструкций, приведённых здесь, — с некоторыми незначительными изменениями там и тут.

Процедура

Процесс переноса включает три основных шага: создание токена личного доступа GitHub, доступ к инструменту переноса Fedora Forge и настройка переноса репозитория.

Создание токена личного доступа GitHub

  1. Войдите в GitHub и перейдите к исходному репозиторию, который хотите перенести.

  2. Запишите URL репозитория для дальнейшего использования. migration github 01

  3. Нажмите на свой портрет в правом верхнем углу и перейдите к настройкам пользователя. migration github 02

  4. Перейдите к Developer settings в нижней части боковой панели. migration github 03

  5. В разделе Personal access tokens выберите Tokens (classic). migration github 04

  6. В раскрывающемся списке General new token нажмите на первый пункт. migration github 05

  7. Предоставьте свои учётные данные для входа в GitHub, если это потребуется. migration github 06

  8. Заполните требуемые данные должным образом в соответствии с запросом. migration github 07

  9. Выберите нужный репозиторий в разделе Repository access. migration github 08

  10. Выберите область переноса:

    1. Если вы хотите перенести только публичные репозитории, выберите первый пункт. migration github 09

    2. Если вы хотите перенести всё пространство имён, выберите второй пункт. migration github 10

  11. Нажмите кнопку Generate token и подтвердите ещё раз, когда попросят. migration github 11

  12. Скопируйте созданный токен личного доступа и надёжно сохраните его для использования в процессе переноса. migration github 12

Доступ к инструменту переноса Fedora Forge

  1. Войдите в Fedora Forge, используя учётные данные вашей учётной записи Fedora.

  2. Перейдите в целевую организацию, в которой хотите создать перенесённый репозиторий. migration github 13

  3. Нажмите кнопку New migration, чтобы начать процесс переноса. migration github 14

  4. Нажмите кнопку GitHub в верхней части страницы переноса. migration github 15

Настройка переноса репозитория

  1. Заполните форму переноса информацией из вашего исходного репозитория:

    1. Repository URL: Введите URL репозитория GitHub

    2. Personal Access Token: Введите токен, созданный ранее

    3. Migration Items: Выберите, что переносить (репозитории, заявки, запросы на включение и т. д.) migration github 16

  2. Нажмите кнопку Migrate, чтобы начать перенос.

  3. Пожалуйста, наберитесь терпения, пока перенос идёт постепенно. Следите за ходом выполнения. migration github 17

  4. Дождитесь завершения переноса и убедитесь в его успешности. migration github 18

Проверка

  • Убедитесь, что перенесённый репозиторий появился в целевой организации на Fedora Forge.

  • Убедитесь, что всё содержимое репозитория (код, ветки, теги) успешно перенесено.

  • Проверьте, что заявки и запросы на включение были перенесены корректно.

  • Проверьте права доступа к репозиторию для членов команды.

  • Убедитесь, что репозиторий доступен для операций клонирования Git.

  • Убедитесь, что все специфичные для GitHub функции были должным образом преобразованы в эквиваленты Forgejo.