Кнопка прокрутки наверх

Как создать полную копию внешнего репозитория и сохранить в IBA Cloud Сode

1 минута чтения

Простое копирование репозитория

Руководство по созданию полной копии внешнего репозитория (включая все его ветки) и сохранения её на наш 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.

Разница между --bare и --mirror в том, что при mirror происходит более полное клонирование (заметки, вся история, удаленные ветви, и т.д). А при bare клонируется главное (весь код, ветки и теги).

Также в GitLab есть встроенный функционал импорта.