# Ветки при смене Git-провайдера или репозитория

В этом разделе вопросов и ответов объясняется, как переносятся имена веток Git и история коммитов при смене Git-провайдера (например, GitHub или GitLab), переходе на новый репозиторий или подключении проекта к другому удалённому репозиторию. Он предназначен для пользователей dbt v1 и dbt platform: общие принципы работы Git с удалёнными репозиториями, ветками и историей применимы к обоим продуктам; разделы о Studio IDE, управляемых репозиториях и отключении репозитория проекта относятся только к dbt platform.

Имена веток и история появятся у нового Git-провайдера, только если вы скопировали весь репозиторий вместе с его историей. Если вы скопировали только файлы или создали репозиторий с нуля, прежние ветки не появятся. Если вы используете dbt platform и [Studio IDE](https://docs.getdbt.tech/docs/platform/studio-ide/develop-in-studio.md), работа, которую вы сохранили там, но ещё не отправили в удалённый репозиторий, хранится отдельно и может быть потеряна.

В следующих разделах рассматриваются типичные сценарии, ожидаемые результаты в каждом случае и действия, необходимые для сохранения веток и истории:

 Смена Git-провайдера

Если вы полностью переносите тот же репозиторий к новому Git-провайдеру с сохранением всех коммитов и веток, ветки и история, как правило, переносятся вместе с ним.

Если вы копируете только файлы, создаёте новый репозиторий с единственным начальным коммитом или импортируете только ветку по умолчанию, остальные ветки не появятся в новом удалённом репозитории, пока вы не отправите или не импортируете их.

Инструкции по отключению и повторному подключению репозитория в dbt platform см. в разделе [Как сменить Git-провайдера](https://docs.getdbt.tech/faqs/Git/git-migration.md).

 Отсутствие веток после создания нового репозитория

После создания нового репозитория ветки могут не отображаться.

Новый репозиторий изначально содержит только те коммиты и ветки, которые существуют в этом новом удалённом репозитории. Ветки из предыдущего репозитория не появляются автоматически, даже если файлы выглядят одинаково.

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

Если вы используете dbt platform и вам нужно отключить или повторно подключить репозиторий проекта, следуйте инструкциям в разделе [Как сменить Git-провайдера](https://docs.getdbt.tech/faqs/Git/git-migration.md).

 Подключение репозитория проекта

В dbt platform среда [Studio IDE](https://docs.getdbt.tech/docs/platform/studio-ide/develop-in-studio.md) отображает ветки из удалённого репозитория Git, подключённого к вашему проекту. Она не хранит вторую, независимую копию полной истории коммитов и веток.

Прежде чем отключать интеграцию с репозиторием в dbt platform или переключаться на другой удалённый репозиторий, сохраните и отправьте в удалённый репозиторий работу, которую хотите сохранить. Изменения, не зафиксированные в коммите, могут быть потеряны, пока вы не выполните **Commit and sync** (отправку в удалённый репозиторий). До этого они не появятся у вашего Git-провайдера (например, в GitHub).

Инструкции по отключению см. в разделе [Как сменить Git-провайдера](https://docs.getdbt.tech/faqs/Git/git-migration.md).

Несохранённые изменения в браузере также могут быть потеряны. Выполните **Commit and sync** для изменений, которые нужно сохранить, или скопируйте их за пределы Studio IDE. Информацию о хранении результатов работы в Studio IDE см. в разделе [Сохранение результатов работы](https://docs.getdbt.tech/docs/platform/studio-ide/develop-in-studio.md?version=1.12#about-the-start-up-process-and-work-retention).

Проверка перед переключением

Чтобы проверить наличие веток и подключение перед переключением, создайте в dbt platform отдельный проект, подключённый к новому репозиторию, убедитесь, что нужные ветки доступны, затем отключите старый репозиторий и удалите временный проект по завершении проверки.

 Переход с управляемого репозитория на собственный

Экспорт проекта в ZIP-архив сохраняет только снимок файлов, но не историю Git и не ветки. Чтобы корректно перенести проект с сохранением полной истории, следуйте инструкциям в разделе [Переход с управляемого репозитория на собственный репозиторий](https://docs.getdbt.tech/faqs/Git/managed-repo.md).
