Прежде чем приступить к работе, убедитесь, что выполнены следующие условия:
- Ваше имя пользователя GitHub Enterprise Server
- URL-адрес клона для внешнего репозитория, например,
https://external-host.com/user/repo.git
илиgit://external-host.com/user/repo.git
(возможно, с префиксомuser@
перед доменным именемexternal-host.com
)
В качестве демонстрационного примера мы будем использовать следующие параметры:
- Внешняя учетная запись с именем extuser
- Внешний узел Git с именем
https://external-host.com
- Личная учетная запись GitHub Enterprise Server с именем ghuser
- Репозиторий на ваш экземпляр GitHub Enterprise Server с именем repo.git
-
Создайте репозиторий на GitHub Enterprise Server. Вы импортируете внешний репозиторий Git в этот новый репозиторий.
-
В командной строке создайте клон внешнего репозитория с помощью внешнего URL-адреса клона. При этом будет создана полная копия данных, но без рабочего каталога для редактирования файлов, а также будет выполнен чистый новый экспорт всех старых данных.
$ git clone --bare https://external-host.com/EXTUSER/REPO.git # Makes a bare clone of the external repository in a local directory
-
Отправьте локально клонированный репозиторий в GitHub Enterprise Server с помощью параметра "mirror", который гарантирует, что все ссылки, такие как ветви и теги, будут скопированы в импортированный репозиторий.
$ cd REPO.git $ git push --mirror https://HOSTNAME/USER/REPO.git # Pushes the mirror to the new repository on ваш экземпляр GitHub Enterprise Server
-
Удалите временный локальный репозиторий.
cd .. rm -rf REPO.git
Если импортируемый репозиторий содержит большие файлы, может возникнуть предупреждение или ошибка. Дополнительные сведения о больших файлах и их управлении см. в разделе "Сведения о больших файлах на GitHub".