Skip to main content

Программное импортирование репозиториев

Репозитории можно импортировать программным способом в GitHub.

О программном импорте репозиториев

В следующем руководстве вы узнаете, как программно запускать миграции репозиториев Git на GitHub. Различные параметры доступны в зависимости от того, где хранится репозиторий.

Дополнительные сведения о "источнике и журнале" и других типах миграций см. в разделе "Планирование миграции на GitHub".

Термин "исходный репозиторий" ссылается на репозиторий, который вы импортируете, и "импортированный репозиторий" ссылается на новый репозиторий, который вы создаете.

Использование вилок

Если исходный репозиторий находится на GitHub, вы можете использовать вилку вместо импорта репозитория. Вилки позволяют вносить изменения в проект, не затрагивая исходный репозиторий, также известный как репозиторий вышестоящий. После вставки репозитория можно получить обновления из репозитория вышестоящий, чтобы сохранить вилку актуальной, и вы можете предложить изменения из вилки в репозиторий вышестоящий с запросами на вытягивание. Дополнительные сведения см. в разделе "Сведения о вилках".

Вы можете программным способом закрепить репозиторий с помощью REST API. Дополнительные сведения см. в разделе Конечные точки REST API для вилок.

Если вариант использования соответствует любому из следующих критериев, вы не можете использовать вилку вместо непосредственного импорта репозитория.

  • Необходимо, чтобы импортированный репозиторий принадлежал тому же пользователю или организации, что и исходный репозиторий.
  • Вы хотите, чтобы один пользователь или организация могли импортировать один и тот же исходный репозиторий несколько раз.

Использование шаблонов репозитория

Если исходный репозиторий находится на GitHub, вы можете использовать шаблоны репозитория. Вы можете создать шаблон из существующего репозитория. Любой пользователь с доступом к репозиторию шаблонов может создать новый репозиторий на основе шаблона с той же структурой каталогов, ветвями и файлами. Дополнительные сведения см. в разделе "Создание репозитория шаблонов".

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

Вы можете программно создать репозиторий из шаблона репозитория с помощью REST API. Дополнительные сведения см. в разделе Конечные точки REST API для репозиториев.

Использование GitHub Enterprise Importer

Если исходный репозиторий размещен в GitHub, GitHub Enterprise Server, Azure DevOps Services, Bitbucket Server или Bitbucket Data Center, можно импортировать репозиторий с помощью GitHub Enterprise Importer. Дополнительные сведения см. в разделе Сведения о GitHub Enterprise Importer.

В дополнение к журналу управления версиями GitHub Enterprise Importer также переносит проблемы, запросы на вытягивание, параметры и многое другое.

Чтобы использовать GitHub Enterprise Importer, необходимо иметь доступ администратора к исходному репозиторию.

Репозитории можно импортировать программным способом с помощью GitHub Enterprise Importer с помощью API GraphQL.

Использование интерфейса командной строки Git

Если исходный репозиторий является репозиторием Git, вы можете вызвать Git CLI программным способом из кода. Вы можете программно создать репозиторий с помощью REST API GitHub, а затем использовать команды, такие как git clone и git push импортировать репозиторий в GitHub.

Вызов интерфейса командной строки Git отличается в зависимости от языка кода. Например, в Node.js можно использовать child_process модуль или в Ruby.open3 Дополнительные сведения см. в разделе "Дочерний процесс " в документации Node.js или репозитории ruby/open3 на GitHub.

Чтобы использовать интерфейс командной строки Git, необходимо иметь доступ к установке Git в системе, в которую размещается приложение. Дополнительные сведения см. в статье "Начало работы— установка Git " в документации по Git.

Использование GitHub CLI

Если исходный репозиторий является репозиторием Git, можно вызвать GitHub CLI программным способом из кода. Можно использовать gh repo create для создания репозитория. Дополнительные сведения см. в разделе Сведения о GitHub CLI.

Дополнительные материалы