{"meta":{"title":"Программное импортирование репозиториев","intro":"Репозитории GitHubможно импортировать программным способом в .","product":"Миграции","breadcrumbs":[{"href":"/ru/migrations","title":"Миграции"},{"href":"/ru/migrations/overview","title":"Обзор"},{"href":"/ru/migrations/overview/programmatically-importing-repositories","title":"Импорт программного репозитория"}],"documentType":"article"},"body":"# Программное импортирование репозиториев\n\nРепозитории GitHubможно импортировать программным способом в .\n\n## О программном импорте репозиториев\n\nВ следующем руководстве вы узнаете, как программно запускать миграцию репозиториев Git GitHubв исходный и журнал. Различные параметры доступны в зависимости от того, где хранится репозиторий.\n\nДополнительные сведения о \"источнике и журнале\" и других типах миграций см. в разделе [Планирование миграции на GitHub](/ru/migrations/overview/planning-your-migration-to-github).\n\nТермин \"исходный репозиторий\" ссылается на репозиторий, который вы импортируете, и \"импортированный репозиторий\" ссылается на новый репозиторий, который вы создаете.\n\n## Использование вилок\n\nЕсли исходный репозиторий включен GitHub, вы можете использовать вилку вместо импорта репозитория. Вилки позволяют вносить изменения в проект, не затрагивая исходный репозиторий, также известный как \"вышестоящий\" репозиторий.\n\nПосле создания вилки репозитория можно:\n\n* Получение обновлений из вышестоящего репозитория для поддержания актуальности вилки\n* Войдите в исходный проект, создав запросы на вытягивание из вилки. Дополнительные сведения см. в разделе [Вилки](/ru/pull-requests/reference/forks).\n\nВы можете программным способом закрепить репозиторий с помощью REST API. Дополнительные сведения см. в разделе [Конечные точки REST API для вилок](/ru/rest/repos/forks).\n\nЕсли вариант использования соответствует любому из следующих критериев, вы не можете использовать вилку вместо непосредственного импорта репозитория.\n\n* Необходимо, чтобы импортированный репозиторий принадлежал тому же пользователю или организации, что и исходный репозиторий.\n* Вы хотите, чтобы один пользователь или организация могли импортировать один и тот же исходный репозиторий несколько раз.\n\n## Использование шаблонов репозитория\n\nЕсли исходный репозиторий включен GitHub, вы можете использовать шаблоны репозитория.\nВы можете создать шаблон из существующего репозитория. Любой пользователь с доступом к репозиторию шаблонов может создать новый репозиторий на основе шаблона с той же структурой каталогов, ветвями и файлами. Дополнительные сведения см. в разделе [Создание репозитория шаблонов](/ru/repositories/creating-and-managing-repositories/creating-a-template-repository).\n\nЧтобы использовать шаблоны репозитория, необходимо иметь доступ на чтение к существующему репозиторию, который является шаблоном, или у вас должен быть доступ к созданию шаблона.\n\nВы можете программно создать репозиторий из шаблона репозитория с помощью REST API. Дополнительные сведения см. в разделе [Конечные точки REST API для репозиториев](/ru/rest/repos/repos).\n\n## С использованием GitHub Enterprise Importer\n\nЕсли исходный репозиторий размещен в GitHub, GitHub Enterprise ServerAzure DevOps Services, Bitbucket Server или Bitbucket Data Center, можно импортировать репозиторий с помощью GitHub Enterprise Importer. Дополнительные сведения см. в разделе [Сведения о GitHub Enterprise Importer](/ru/migrations/using-github-enterprise-importer/understanding-github-enterprise-importer/about-github-enterprise-importer).\n\nПомимо журнала управления версиями и версиями, GitHub Enterprise Importer также переносит проблемы, запросы на вытягивание, параметры и многое другое.\n\nДля использования GitHub Enterprise Importerнеобходимо иметь доступ администратора к исходному репозиторию.\n\nРепозитории можно импортировать программным способом с GitHub Enterprise Importer помощью API GraphQL.\n\n## Использование интерфейса командной строки Git\n\nЕсли исходный репозиторий является репозиторием Git, вы можете вызвать Git CLI программным способом из кода. Вы можете программно создать репозиторий с помощью GitHubREST API, а затем использовать команды, такие как `git clone` и `git push` импортировать репозиторий GitHub.\n\nВызов интерфейса командной строки Git отличается в зависимости от языка кода. Например, в Node.js можно использовать `child_process` модуль или в Ruby.`open3` Дополнительные сведения см. в разделе [\"Дочерний процесс](https://nodejs.org/api/child_process.html) \" в документации Node.js или [репозитории ruby/open3](https://github.com/ruby/open3) в GitHub.\n\nЧтобы использовать интерфейс командной строки Git, необходимо иметь доступ к установке Git в системе, в которую размещается приложение. Дополнительные сведения см. в статье [\"Начало работы— установка Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) \" в документации по Git.\n\n## С использованием GitHub CLI\n\nЕсли исходный репозиторий является репозиторием Git, вы можете вызвать GitHub CLI его программным способом из кода. Можно использовать `gh repo create` для создания репозитория. Дополнительные сведения см. в разделе [О GitHub CLI](/ru/github-cli/github-cli/about-github-cli).\n\n## Дополнительные материалы\n\n* [Конечные точки REST API для репозиториев](/ru/rest/repos/repos)"}