Как создать полную копию внешнего репозитория и сохранить в IBA Cloud Сode
Простое копирование репозитория
Руководство по созданию полной копии внешнего репозитория (включая все его ветки) и сохранения её на наш IBA Cloud Code. Это полезно, когда исходный репозиторий в другой системе, например GitHub (в противом случае можно просто создать форк).
Используйте команды:
Перед выполнением миграции убедитесь, что в исходном репозиторие нет открытых Pull Requests или закройте их.
1. Клонируем репозиторий
1.1 В случае, если в исходном репозиторие есть открытые Pull Requests, которые невозможно закрыть, используйте следующую команду
$ git clone --bare https://github.com/<remote_user>/<repo_name>.git
<repo_name>-migrate
1.2 Если открытых Pull Requests нет, используйте данную команду
$ git clone --mirror https://github.com/<remote_user>/<repo_name>.git
<repo_name>-migrate
2. Заходим в созданную директорию
$ cd <repo_name>-migrate
3. Добавляем новый адрес репозиторий
$ git remote add new-origin git@code.xby.scdc.io:<your_user_name>/<repo_name>.git
4. Загружаем репозиторий по новому адресу
$ git push new-origin --mirror
5. После того как данные загружены по новому адресу, можно выйти из текущей директории и склонировать репозиторий из нового источника для дальнейшей работы
$ cd ..
$ git clone git@code.xby.scdc.io:<your_user_name>/<repo_name>.git
6. [Опционально] Директория <repo_name>-migrate может быть удалена, так как она была необходима только для миграции данных
Примечание:
Если код находится на другом GitLab, то в IBA Cloud Code нельзя будет сделать форк.
Полезные ссылки
Разница между --bare и --mirror в том, что при mirror происходит более полное клонирование (заметки, вся история, удаленные ветви, и т.д). А при bare клонируется главное (весь код, ветки и теги).
Также в GitLab есть встроенный функционал импорта.