Импортировать или зеркалировать репозиторий в SourceCraft

Вы можете импортировать или зеркалировать в SourceCraft репозиторий с исходным кодом, размещенный в другой системе управления IT-проектами для git.

Зеркалирование позволяет автоматически синхронизировать содержимое определенных веток исходного репозитория и репозитория в SourceCraft.

Простой импорт кода (история коммитов, все существующие ветки и теги) поддерживается для любых публичных репозиториев с любых git-хостингов.

При переносе репозитория с GitHub также опционально импортируются:

  • предложения изменений (pull requests);
  • задачи (issues) ;
  • комментарии.

Важно

Предложения изменений, задачи и комментарии переносятся только при первой синхронизации и далее не обновляются. Зеркалируются только определенные ветки исходного репозитория.

Чтобы импортировать или зеркалировать репозиторий в SourceCraft:

  1. Откройте главную страницу SourceCraft.

  2. На панели слева нажмите Создать репозиторий.

  3. В открывшемся окне перейдите на вкладку Перенести существующие.

  4. В блоке Сведения об исходном репозитории выберите источник репозитория:

    1. Нажмите GitHub.

    2. Создайте персональный токен доступа GitHub (Personal Access Token, PAT) со следующими правами:

      • repo — для отображения списка ваших публичных и приватных репозиториев, доступных для импорта.
      • read:org — для импорта коллабораторов из репозиториев GitHub или если проект содержит файлы Git LFS (опционально).

      Подробнее в документации GitHub.

      Примечание

      Чтобы перенести из исходного репозитория сущности, помимо кода, токен должен быть выдан администратором репозитория.

    3. В поле Персональный токен доступа GitHub вставьте созданный токен и нажмите Аутентифицировать.

    4. В поле Владелец выберите владельца исходного репозитория.

    5. В поле Репозиторий выберите репозиторий, который вы хотите импортировать.

    1. Нажмите Репозиторий по URL.
    2. В поле URL репозитория укажите ссылку на репозиторий, размещенный в другой системе управления IT-проектами.
    3. Введите Личный токен доступа.
  5. В блоке Сведения о новом репозитории:

    • В поле Владелец выберите владельца создаваемого репозитория — вашу учетную запись или организацию.
    • В поле Название укажите название репозитория, создаваемого в SourceCraft. Название репозитория может содержать следующие ASCII-символы: строчные и заглавные буквы латинского алфавита, цифры, запятые, дефисы и подчеркивания.
  6. (опционально) В блоке Что перенести выберите сущности, которые нужно перенести из исходного репозитория:

    • Код — исходный код, ветки, коммиты и полная история репозитория. Эта сущность переносится всегда и недоступна для отключения.
    • Pull requests — предложения изменений, ревью и связанные с ними метаданные и метки. Чтобы перенести только предложения изменений со статусом open, включите опцию Только открытые pull requests.
    • Issues — задачи и связанные с ними метаданные и метки. Чтобы перенести только задачи со статусом open, включите опцию Только открытые issues.
    • Комментарии — комментарии к предложениям изменений и задачам.

    Справа от списка сущностей отображается предполагаемое время миграции. Чтобы ускорить миграцию, отключите сущности, перенос которых не требуется.

    Для репозиториев не из GitHub доступен только перенос исходного кода, веток, коммитов и полной истории. Эта сущность переносится всегда и недоступна для отключения.

  7. В блоке Видимость выберите тип доступа к создаваемому репозиторию:

    • Публичный — любой пользователь сможет просматривать репозиторий. Вы сможете выбрать, кто сможет вносить изменения.
    • Внутренний — доступ к репозиторию будет только у пользователей организации-владельца.
    • Приватный — вы сами выберете, кто сможет просматривать репозиторий и вносить в него изменения.
  8. (опционально) Если вы хотите зеркалировать репозиторий, в блоке Синхронизация включите опцию Включить синхронизацию и в поле Ветки для синхронизации укажите ветки, которые вы хотите автоматически обновлять из исходного репозитория. Вы можете использовать шаблоны, например: main, feature/*, release/*.

    Важно

    Предложения изменений, задачи и комментарии переносятся только при первой синхронизации и далее не обновляются. Зеркалируются только определенные ветки исходного репозитория.

    На зеркалируемые ветки в репозитории SourceCraft накладываются защитные правила политики веток. Их нельзя изменить в SourceCraft, они обновляются только при синхронизации с исходным репозиторием.

    Если политика веток будет отключена, или пользователь с ролью Администратор репозитория обойдет ее, то при очередной синхронизации репозиториев история коммитов в SourceCraft будет переписана (force push).

  9. SourceCraft автоматически проверит доступность исходного репозитория и возможность создать в SourceCraft репозиторий с указанным вами именем.

    Если все проверки пройдены успешно, появится сообщение Всё готово к перемещению. Пристегните ремни безопасности и давайте взлетать!

    Нажмите кнопку Начать миграцию.

Откроется окно со списком ваших репозиториев в SourceCraft. Напротив репозитория, который вы импортируете, будет отображаться статус миграции. Чтобы посмотреть подробности, нажмите на статус.

После завершения миграции вы сможете работать с перенесенным репозиторием в SourceCraft.

Полезные ссылки

Как начать работать с SourceCraft