{"meta":{"title":"Общие сведения о миграции из GitLab в GitHub","intro":"GitHub Enterprise Importer автоматизирует миграцию из GitLab.","product":"Миграции","breadcrumbs":[{"href":"/ru/migrations","title":"Миграции"},{"href":"/ru/migrations/using-github-enterprise-importer","title":"GitHub Enterprise Importer"},{"href":"/ru/migrations/using-github-enterprise-importer/migrate-from-gitlab","title":"Миграция из GitLab"},{"href":"/ru/migrations/using-github-enterprise-importer/migrate-from-gitlab/understand-migrations","title":"1. Понимание миграций"}],"documentType":"article"},"body":"# Общие сведения о миграции из GitLab в GitHub\n\nGitHub Enterprise Importer автоматизирует миграцию из GitLab.\n\n## Сведения о миграции из GitLab\n\nМожно использовать GitHub Enterprise Importer для переноса репозиториев из GitLab в GitHub Enterprise Cloud (GitHub.com или GHE.com).\n\nМиграция выполняется с GL2GH extension of the GitHub CLIкроссплатформенной оболочкой командной строки вокруг GitHub API миграции. Для каждого репозитория :GL2GH extension\n\n1. **Экспортирует** проект `.tar.gz` GitLab в архив, содержащий репозиторий Git, а также метаданные проекта (например, проблемы, запросы слияния, метки, вехи и выпуски).\n2. **Выполняет** архивацию локально на компьютере, где выполняется команда.\n3. **Отправляет** архив в хранилище BLOB-объектовGitHub, которое GitHub-owned blob storage может прочитать (или учетную запись хранения, которую вы владеете в AWS S3 или Хранилище BLOB-объектов Azure).\n4. **Импортирует** архив в целевую организацию, преобразуя сущности GitLab в их GitHub эквиваленты.\n\nПрежде чем создавать корпоративный аккаунт GitHub, решите, будет ли ваше предприятие использовать Enterprise Managed Users. Это влияет на то, как ваши участники проходят аутентификацию и как вы управляете идентификацией и доступом. См [. раздел AUTOTITLE](/ru/enterprise-cloud@latest/admin/concepts/enterprise-fundamentals/choose-an-enterprise-type).\n\n## Поддерживаемые версии GitLab\n\nВы можете выполнить миграцию из GitLab.com и автономных экземпляров GitLab.\n\nGitHub Enterprise Importer поддерживает в настоящее время поддерживаемые версии GitLab (без окончания срока жизни). Список поддерживаемых версий см. в разделе [\"Заявление о поддержке](https://docs.gitlab.com/policy/maintenance/) \" в документации по GitLab. Старые версии не были протестированы или оценены.\n\n## Данные, перенесенные\n\nКогда данные присутствуют в архиве экспорта GitLab, GitHub Enterprise Importer переносит следующие данные из GitLab GitHub Enterprise Cloudв .\n\n* Источник Git (включая журнал фиксаций) и вики-сайт репозитория\n* Комментарии к коммиту\n* Project конфигурации, которая четко сопоставляется, например ветвь по умолчанию\n* Проблемы и комментарии, включая события состояния проблемы и вехи\n  * Потоковые обсуждения переносятся в виде неструктурированных комментариев с контекстом исходного потока\n* Запросы слияния, которые преобразуются в запросы на вытягивание, включая:\n  * Примечания (перенесенные в виде комментариев проверки только при наличии данных диффа, в противном случае как неструктурированные комментарии о проблемах; в экспорте присутствует только последний дифф)\n  * Рецензенты и утверждающие\n  * События состояния запроса слияния\n* Вехи\n* События временной шкалы\n* Реакции эмодзи\n* Отправка (вложения)\n* Выпуски и ресурсы выпуска\n* Project члены (перенесенные как манекены)\n\n## Данные, которые не переносятся\n\nСледующие данные не переносятся.\n\n* Git LFS (Git Large File Storage — поддержка хранения больших файлов в Git) объекты: файлы указателя перемещаются с журналом Git, но двоичные объекты должны быть отправлены в место миграции отдельно в качестве последующей задачи. Дополнительные сведения см. в разделе [Дублирование репозиториев](/ru/repositories/creating-and-managing-repositories/duplicating-a-repository#mirroring-a-repository-that-contains-git-large-file-storage-objects).\n* Политики репозитория, включая поезда слияния, шлюзы конвейера, необходимые утверждения, разделы, аватары и зеркальное отображение\n* Параметры группы и членство в группах\n* Фрагменты, доски выдачи, данные отслеживания времени и данные управления проектированием\n* Конвейеры CI/CD и расписания конвейеров (`.gitlab-ci.yml` не имеют автоматического эквивалента GitHub Actions )\n* Отчеты об уязвимостях\n* Данные, которые GitLab вообще не включаются в экспорт, такие как веб-перехватчики, переменные CI/CD, трассировки заданий и артефакты, журнал дочерних конвейеров и триггеры конвейера\n\n## Ограничения для перенесенных данных\n\nСуществуют пределы того, что GitHub Enterprise Importer может мигрировать. Некоторые из них обусловлены ограничениями GitHub, другие — ограничениями GitHub Enterprise Importer сами по себе.\n\n### Ограничения GitHub\n\n* **Ограничение размера 2 ГиБ для одного коммита Git:** Размер отдельного коммита в репозитории Git не должен превышать 2 ГиБ. Если размер любого из ваших коммитов превышает 2 ГиБ, вам нужно будет разделить коммит на более мелкие коммиты, каждый из которых имеет размер 2 ГиБ или меньше.\n* **Ограничение размера 2 ГиБ для одной отправки:** Ни одна отправка не может быть больше 2 ГиБ. Более крупные push-уведомления завершаются ошибкой `pack exceeds maximum allowed size` .\n* **Ограничение в 255 байт для ссылок на Git:** Ни одна ссылка на Git, обычно называемая «ref», не может иметь имя больше 255 байт. Обычно это означает, что ваши ссылки не могут превышать 255 символов, но любые не-ASCII символы, такие как эмодзи, могут потреблять более одного байта. Если какая-либо из ссылок на Git слишком велика, мы вернем четкое сообщение об ошибке.\n* **Ограничение на размер файла 100 МиБ:** После завершения миграции размер отдельного файла в репозитории Git не должен превышать 100 МиБ. Во время миграции репозитория этот лимит увеличивается до 400 МиБ. Рассмотрите возможность Git LFS (Git Large File Storage — поддержка хранения больших файлов в Git) хранения больших файлов.\n\n### Ограничения GitHub Enterprise Importer\n\n* **Ограничение размера 40 ГБ для репозитория Git (Публичный предварительный просмотр):** это ограничение применяется только к исходному коду. Чтобы проверить, превышает ли архив репозитория ограничение, используйте [средство git-sizer](https://github.com/github/git-sizer) и просмотрите общий размер большого двоичного объекта в выходных данных. Средство git-sizer также помогает определить потенциальные проблемы, связанные с большими файлами, размером больших двоичных объектов, размером фиксации и числом деревьев, которые могут повлиять на миграцию.\n* **Ограничение размера файла до 400 МиБ:** При миграции репозитория с GitHub Enterprise Importer, ни один файл в вашем Git-репозитории не может быть больше 400 МиБ. Рассмотрите возможность Git LFS (Git Large File Storage — поддержка хранения больших файлов в Git) хранения больших файлов.\n* **Git LFS (Git Large File Storage — поддержка хранения больших файлов в Git) объекты, не мигрированные:** Они Importer могут мигрировать в репозитории, использующие Git LFS (Git Large File Storage — поддержка хранения больших файлов в Git), но сами объекты LFS не будут мигрированы. Их можно отправить в место назначения миграции в качестве последующей задачи после завершения миграции.\n* **Функции поиска отложенного кода:** повторное индексирование индекса поиска может занять несколько часов после переноса репозитория, а поиски кода могут возвращать непредвиденные результаты до завершения повторной индексации.\n* **Наборы правил, настроенные для вашей организации, могут привести к сбою миграции:** например, если вы настроили правило, требующее адреса электронной почты для автор фиксации `@monalisa.cat`заканчиваться, а репозиторий, с которым вы переносите, содержит фиксации, которые не соответствуют этому правилу, миграция завершится ошибкой.\n* **Содержимое манекена может быть недоступен для поиска:** Манекены являются заполнителями пользователей, к которым связан импортированный контент (например, проблемы, запросы на вытягивание, комментарии и т. д.). При поиске содержимого, связанного с манекеном, например назначенными проблемами, проблемы могут быть не найдены. После восстановления манекена содержимое должно быть найдено с помощью нового владельца.\n\n### Ограничения GitLab\n\n* **Ограничение в 40 ГБ для архива экспорта GitLab:** API экспорта проекта GitLab не будет создавать архив размером более 40 ГБ на GitLab.com.\n  GitHub В отличие от ограничения размера источника, это относится ко всему архиву экспорта, включая метаданные проекта, а также источник Git. Это ограничение задается GitLab и может отличаться для самоуправляемых экземпляров."}