Прежде чем приступить к работе, убедитесь, что выполнены следующие условия:
- Ваше имя пользователя GitHub AE
- 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 AE с именем ghuser
- Репозиторий в GitHub AE с именем repo.git
- Создайте репозиторий в GitHub AE. Вы импортируете внешний репозиторий 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 AE с помощью параметра "mirror", который гарантирует, что все ссылки, такие как ветви и теги, будут скопированы в импортированный репозиторий.
$ cd REPO.git $ git push --mirror https://HOSTNAME/USER/REPO.git # Pushes the mirror to the new repository on GitHub AE
- Удалите временный локальный репозиторий.
$ cd .. $ rm -rf REPO.git
Если импортируемый репозиторий содержит большие файлы, может возникнуть предупреждение или ошибка. Дополнительные сведения о больших файлах и управлении ими см. в разделе Сведения о больших файлах на GitHub.