# Подключение с помощью Git clone

Платформа dbt

В dbt можно импортировать репозиторий git по любому корректному git URL, который указывает на проект dbt. При этом следует учитывать несколько важных моментов.

## Протоколы Git

Используйте SSH URL для клонирования репозитория. dbt поддерживает оба распространённых формата SSH:

* `git@github.com:organization/repo-name.git`
* `ssh://git@github.com/organization/repo-name.git`

Не используйте `https://...` и другие HTTP URL. dbt клонирует репозитории по SSH и не может клонировать репозитории, использующие протокол HTTP.

### Преобразование SSH URL в ssh://

Git-провайдеры часто показывают SSH URL для клонирования в формате SCP — с двоеточием между хостом и путём к репозиторию (обычно в разделе **Code** -> **Clone** -> **SSH**).

Пример формата SCP с двоеточием:

```text
git@github.com:organization/repo-name.git
user@custom-host.example.com:organization/repo-name.git
```

Если вы предпочитаете URL вида `ssh://`, его можно преобразовать следующим образом. В эквивалентном формате ssh:// после хоста используется косая черта:

```text
ssh://git@github.com/organization/repo-name.git
ssh://user@custom-host.example.com/organization/repo-name.git
```

## Доступность функций в зависимости от Git‑провайдера

* Если ваш Git-провайдер поддерживает [встроенную интеграцию с dbt](https://docs.getdbt.tech/docs/platform/git/configure-git.md), вы можете легко настроить задания [непрерывной интеграции (CI)](https://docs.getdbt.tech/docs/deploy/ci-jobs.md) непосредственно в dbt.

* Для провайдеров без встроенной интеграции вы по-прежнему можете использовать [метод Git clone](https://docs.getdbt.tech/docs/platform/git/import-a-project-by-git-url.md), чтобы импортировать проект по URL Git-репозитория, и [административный API dbt](https://docs.getdbt.tech/docs/dbt-apis/admin-api.md), чтобы запускать задание CI.

В следующей таблице представлены доступные варианты интеграции и соответствующие им возможности.

| **Git-провайдер**                                                                                                                                                                                                                                                                                                                                                      | **Встроенная интеграция с dbt** | **Автоматизированное задание CI** | **Git clone** | **Информация**                                                                                                                                                                                                                         | **Поддерживаемые тарифные планы** |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------- | --------------------------------- | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------- |
| [Azure DevOps](https://docs.getdbt.tech/docs/platform/git/connect-azure-devops.md)<br />                                                                                                                                                                                                                                                                              | ✅                              | ✅                                | ✅            | Организации на тарифных планах Starter и Developer могут подключаться к Azure DevOps с помощью ключа развертывания. Обратите внимание: вы не сможете настроить автоматизированные задания CI, но по-прежнему сможете вести разработку. | Enterprise, Enterprise+           |
| [GitHub](https://docs.getdbt.tech/docs/platform/git/connect-github.md)<br />                                                                                                                                                                                                                                                                                          | ✅                              | ✅                                | ✅            |                                                                                                                                                                                                                                        | Все тарифные планы dbt            |
| [GitLab](https://docs.getdbt.tech/docs/platform/git/connect-gitlab.md)<br />                                                                                                                                                                                                                                                                                          | ✅                              | ✅                                | ✅            |                                                                                                                                                                                                                                        | Все тарифные планы dbt            |
| Все остальные Git-провайдеры, подключаемые с помощью [Git clone](https://docs.getdbt.tech/docs/platform/git/import-a-project-by-git-url.md) ([BitBucket](https://docs.getdbt.tech/docs/platform/git/import-a-project-by-git-url.md#bitbucket), [AWS CodeCommit](https://docs.getdbt.tech/docs/platform/git/import-a-project-by-git-url.md#aws-codecommit) и другие) | ❌                              | ❌                                | ✅            | Чтобы настроить непрерывную интеграцию и непрерывное развертывание (CI/CD), обратитесь к руководству [Настройка CI/CD с использованием собственных конвейеров](https://docs.getdbt.tech/guides/custom-cicd-pipelines.md?step=1).      |                                   |

## Управление ключами развёртывания

После импорта проекта по URL Git платформа dbt создаст ключ развёртывания (Deploy Key) для вашего репозитория. Чтобы найти ключ развёртывания в dbt:

1. В dbt нажмите на название своей учётной записи в левом боковом меню и выберите **Account settings**.
2. Перейдите в раздел **Projects** и выберите проект.
3. Нажмите ссылку **Repository**, чтобы открыть страницу сведений о репозитории.
4. Скопируйте ключ из раздела **Deploy Key**.

Этот ключ развёртывания необходимо добавить в настройки репозитория у вашего Git-провайдера. Настройте для этого ключа *доступ на чтение и запись* к указанным репозиториям.

**Примечание**: Для каждого проекта dbt при подключении к репозиторию создаётся отдельный ключ развёртывания, даже если два проекта подключены к одному репозиторию. Вам потребуется добавить оба ключа развёртывания у вашего Git-провайдера.

## Устранение ошибок клонирования

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

* **Некорректный URL**: Убедитесь, что путь к репозиторию указан верно, репозиторий существует и вы используете SSH URL для клонирования (`git@...` или `ssh://...`). Не используйте `https://...` и другие HTTP URL.
* **Ваш git-провайдер недоступен**: Проверьте страницу состояния вашего провайдера (например, GitHub, GitLab, Bitbucket, Azure DevOps) и повторите попытку после восстановления работы сервиса.
* **Неверно настроен доступ по SSH**: Убедитесь, что ключ развёртывания, созданный dbt, добавлен в репозиторий с необходимыми правами доступа (включая доступ на запись, если он требуется). Если ваша организация ограничивает использование SSH-ключей, согласуйте с администраторами разрешение на использование ключей развёртывания для репозитория.

Если подключиться по-прежнему не удаётся, [обратитесь в службу поддержки dbt](mailto:support@getdbt.com) и укажите URL репозитория, который вы используете, а также время возникновения ошибки.

## GitHub

Используете GitHub?

Если вы используете GitHub, можно импортировать репозиторий напрямую с помощью [приложения GitHub для dbt](https://docs.getdbt.tech/docs/platform/git/connect-github.md). Подключение репозитория через приложение GitHub [позволяет использовать непрерывную интеграцию](https://docs.getdbt.tech/docs/deploy/continuous-integration.md).

### Найдите свой SSH URL

1. Перейдите в свой репозиторий на GitHub.
2. Нажмите кнопку **Code**.
3. Выберите вкладку **SSH**, чтобы увидеть SSH URL для клонирования.
4. Скопируйте URL со вкладки **SSH**. Поддерживаются URL как в формате SCP (`git@...`), так и в формате `ssh://...`. Если вам нужен формат `ssh://`, см. раздел [Преобразование SSH URL в ssh://](#converting-ssh-urls-to-ssh).

### Добавьте ключ развёртывания

Чтобы добавить ключ развёртывания в учётную запись GitHub, перейдите на вкладку Deploy keys на странице настроек вашего репозитория GitHub.

* Укажите имя ключа развёртывания и вставьте ключ, созданный dbt, затем обязательно установите флажок **Allow write access**.
* После добавления этого ключа dbt сможет читать и записывать файлы в вашем проекте dbt.
* См. [Добавление ключа развёртывания в GitHub](https://github.blog/2015-06-16-read-only-deploy-keys/)

[![Настройка ключа развёртывания GitHub](/img/docs/dbt-platform/platform-configuring-dbt-platform/cd7351c-Screen_Shot_2019-10-16_at_1.09.41_PM.png?v=2 "Настройка ключа развёртывания GitHub")](#)Настройка ключа развёртывания GitHub

## GitLab

Используете GitLab?

Если вы используете GitLab, можно импортировать репозиторий напрямую с помощью [приложения GitLab для dbt](https://docs.getdbt.tech/docs/platform/git/connect-gitlab.md). Подключение репозитория через приложение GitLab [позволяет использовать непрерывную интеграцию](https://docs.getdbt.tech/docs/deploy/continuous-integration.md).

* Чтобы добавить ключ развёртывания в учётную запись GitLab, перейдите на вкладку [SSH keys](https://gitlab.com/profile/keys) на странице User Settings вашей учётной записи GitLab.
* Затем вставьте ключ развёртывания, созданный dbt для вашего репозитория.
* После сохранения этого SSH-ключа dbt сможет читать и записывать файлы в вашем репозитории GitLab.
* См. [Добавление ключа развёртывания только для чтения в GitLab](https://docs.gitlab.com/ee/user/project/deploy_keys/)

[![Настройка SSH-ключа GitLab](/img/docs/dbt-platform/platform-configuring-dbt-platform/f3ea88d-Screen_Shot_2019-10-16_at_4.45.50_PM.png?v=2 "Настройка SSH-ключа GitLab")](#)Настройка SSH-ключа GitLab

## BitBucket

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

BitBucket связывает каждый коммит в репозитории и другие действия Git (например, создание пул-реквеста) с адресом электронной почты, указанным в учётной записи пользователя BitBucket.

Чтобы добавить ключ развёртывания в учётную запись BitBucket:

* Перейдите на вкладку **SSH keys** на странице Personal Settings вашей учётной записи BitBucket.
* Затем нажмите кнопку **Add key** и вставьте ключ развёртывания, созданный dbt для вашего репозитория.
* После сохранения этого SSH-ключа dbt сможет читать и записывать файлы в вашем репозитории BitBucket.

[![Настройка SSH-ключа BitBucket](/img/docs/dbt-platform/platform-configuring-dbt-platform/bitbucket-ssh-key.png?v=2 "Настройка SSH-ключа BitBucket")](#)Настройка SSH-ключа BitBucket

## AWS CodeCommit

dbt может работать с проектами dbt, размещёнными в AWS CodeCommit, но по сравнению с GitHub или другими git-провайдерами потребуется выполнить несколько дополнительных шагов. Это руководство поможет подключить ваш проект dbt, размещённый в CodeCommit, к dbt.

#### Шаг 1: Создайте пользователя AWS для dbt

* Чтобы предоставить dbt доступ к вашему репозиторию, сначала необходимо создать пользователя AWS IAM для dbt.
* Войдите в консоль AWS и перейдите в раздел IAM.
* Нажмите **Add User** и создайте нового пользователя, указав уникальное и понятное имя.
* Пользователю потребуется право клонировать ваш репозиторий. Для этого во время настройки можно добавить разрешение **AWSCodeCommitPowerUser**.

#### Шаг 2: Импортируйте репозиторий по имени

* Откройте консоль AWS CodeCommit и выберите свой репозиторий.
* Скопируйте SSH URL с этой страницы.
* Затем перейдите на страницу **New Repository** в dbt.
* Выберите вкладку **Git Clone** и вставьте SSH URL, скопированный из консоли.
* На открывшейся странице сведений о созданном репозитории вы увидите поле **Deploy Key**.
* Скопируйте содержимое этого поля: оно понадобится на [шаге 3](#step-3-grant-dbt-cloud-aws-user-access).

**Примечание:** На следующем шаге можно использовать только открытый ключ, созданный dbt. Любой другой ключ, созданный вне dbt, не подойдёт.

#### Шаг 3: Предоставьте доступ пользователю AWS для dbt

* Откройте только что созданного пользователя dbt в консоли AWS IAM.
* Выберите вкладку **Security Credentials**, затем нажмите **Upload SSH public key**.
* Вставьте содержимое поля **Public Key** со страницы Repository в dbt.
* После создания ключа вы увидите его **SSH key ID**.
* **[Обратитесь в службу поддержки dbt](mailto:support@getdbt.com)** и передайте значение этого поля, чтобы специалисты службы поддержки dbt могли завершить настройку.

#### Шаг 4: Укажите пользовательскую ветку в dbt

CodeCommit использует `master` в качестве ветки по умолчанию. Для инициализации проекта необходимо указать ветку `master` как [пользовательскую ветку](https://docs.getdbt.tech/faqs/Environments/custom-branch-settings.md#development) в dbt.

* Перейдите в **Deploy** -> **Environments** -> **Development**.
* Выберите **Settings** -> **Edit** и в разделе **General Settings** установите флажок **Default to a custom branch**.
* Укажите `master` в качестве пользовательской ветки и нажмите **Save**.

#### Шаг 5: Настройте URL шаблона пул-реквеста (необязательно)

Чтобы пользователи не могли напрямую сливать изменения кода в ветку по умолчанию, настройте [PR Template URL](https://docs.getdbt.tech/docs/platform/git/pr-template.md) на странице **Repository details** вашего проекта. После настройки dbt будет предлагать пользователям открыть новый пул-реквест после коммита и синхронизации изменений кода в ветке в Studio IDE, прежде чем сливать какие-либо изменения в ветку по умолчанию.

* Перейдите в **Account Settings** -> **Projects** -> выберите проект.
* Нажмите ссылку на репозиторий в разделе **Repository**.
* На странице **Repository details** нажмите **Edit** в правом нижнем углу.

  [![Настройка шаблона пул-реквеста на странице 'Repository details'.](/img/docs/collaborate/repo-details.jpg?v=2 "Настройка шаблона пул-реквеста на странице 'Repository details'.")](#)Настройка шаблона пул-реквеста на странице 'Repository details'.
* В поле **Pull request URL** укажите URL в соответствии с предложенным [форматом шаблона пул-реквеста](https://docs.getdbt.tech/docs/platform/git/pr-template.md#aws-codecommit).
* Замените `<repo>` именем вашего репозитория (обратите внимание, что регистр имеет значение). В следующем примере репозиторий называется `New_Repo`.

  [![В примере поля Pull request URL имя репозитория — 'New\_Repo'.](/img/docs/collaborate/pr-template-example.jpg?v=2 "В примере поля Pull request URL имя репозитория — 'New_Repo'.")](#)В примере поля Pull request URL имя репозитория — 'New\_Repo'.
* Заполнив поле **Pull request URL**, нажмите **Save**.

🎉 **Всё готово!** Когда служба поддержки dbt обработает ваш запрос и вы зададите пользовательскую ветку, ваш проект будет готов к выполнению запусков dbt в dbt.

## Azure DevOps

Используете Azure DevOps?

Если вы используете Azure DevOps и тариф dbt Enterprise или Enterprise+, можно импортировать репозиторий напрямую с помощью [интеграции Azure DevOps для dbt](https://docs.getdbt.tech/docs/platform/git/connect-azure-devops.md). Подключение репозитория через приложение Azure DevOps [позволяет использовать непрерывную интеграцию](https://docs.getdbt.tech/docs/deploy/continuous-integration.md).

1. Чтобы добавить ключ развёртывания в учётную запись Azure DevOps, перейдите на страницу **SSH public keys** в разделе User Settings вашей пользовательской или служебной учётной записи Azure DevOps.

2. Рекомендуем использовать для интеграции отдельную служебную учётную запись, чтобы изменения прав пользователей не прерывали соединение dbt с Azure DevOps.

[![Перейдите на страницу настроек 'SSH public keys'](/img/docs/dbt-platform/platform-configuring-dbt-platform/52bfdaa-Screen_Shot_2020-03-09_at_4.13.20_PM.png?v=2 "Перейдите на страницу настроек 'SSH public keys'")](#)Перейдите на страницу настроек 'SSH public keys'

3. Затем нажмите кнопку **+ New Key**, чтобы создать новый SSH-ключ для репозитория.

[![Нажмите кнопку '+ New Key', чтобы создать новый SSH-ключ для репозитория.](/img/docs/dbt-platform/platform-configuring-dbt-platform/6d8e980-Screen_Shot_2020-03-09_at_4.13.27_PM.png?v=2 "Нажмите кнопку '+ New Key', чтобы создать новый SSH-ключ для репозитория.")](#)Нажмите кнопку '+ New Key', чтобы создать новый SSH-ключ для репозитория.

4. Выберите понятное имя для ключа, затем вставьте ключ развёртывания, созданный dbt для вашего репозитория.

5. После сохранения этого SSH-ключа dbt сможет читать и записывать файлы в вашем репозитории Azure DevOps.

[![Введите и сохраните открытый ключ, созданный dbt для вашего репозитория](/img/docs/dbt-platform/platform-configuring-dbt-platform/d19f199-Screen_Shot_2020-03-09_at_4.13.50_PM.png?v=2 "Введите и сохраните открытый ключ, созданный dbt для вашего репозитория")](#)Введите и сохраните открытый ключ, созданный dbt для вашего репозитория

## Другие git-провайдеры

Не нашли здесь своего git-провайдера? [Обратитесь в службу поддержки dbt](mailto:support@getdbt.com). Мы будем рады помочь вам настроить dbt для работы с любым поддерживаемым git-провайдером.

## Ограниченная интеграция

Для некоторых функций dbt требуется тесная интеграция с вашим git-хостингом, например для обновления пул-реквестов GitHub статусами запусков dbt. При импорте проекта по URL эти функции недоступны. После предоставления dbt доступа к репозиторию можно продолжить настройку проекта: добавить подключение, создать и запустить своё первое задание dbt.

## Часто задаваемые вопросы

Как исправить мой файл .gitignore?

Файл `.gitignore` определяет, какие файлы git должен намеренно игнорировать или «не отслеживать». dbt обозначает неотслеживаемые файлы на панели файлов проекта, выделяя имя файла или папки *курсивом*.

Если в Studio IDE возникают проблемы с отменой изменений, переключением на другую ветку или созданием новой либо после коммита не появляется предложение открыть пул-реквест — это обычно указывает на проблему с файлом [.gitignore](https://github.com/dbt-labs/dbt-starter-project/blob/main/.gitignore). Этот файл может отсутствовать или не содержать записей, необходимых для корректной работы dbt.

В следующих разделах описано, как исправить файл `.gitignore` в:

 Исправление в Studio IDE

Чтобы решить проблемы с вашим файлом `gitignore`, добавление правильных записей не удалит автоматически (или "не будет отслеживать") файлы или папки, которые уже отслеживаются git. Обновленный `gitignore` будет только предотвращать отслеживание новых файлов или папок. Поэтому вам нужно сначала исправить файл `gitignore`, а затем выполнить некоторые дополнительные операции git, чтобы перестать отслеживать любые неправильные файлы или папки.

1. Откройте Studio IDE в проекте, в котором устраняете проблему, выбрав **Develop** в строке меню.
2. В **File Explorer** проверьте, существует ли файл `.gitignore` в корне папки вашего проекта dbt. Если его нет, создайте новый файл.
3. Откройте новый или существующий файл `gitignore` и добавьте следующее:

```bash
# ✅ Правильно 
target/
dbt_packages/
logs/
# устаревшее -- переименовано в dbt_packages в dbt v1
dbt_modules/
```

* **Примечание** — Вы можете разместить эти строки в любом месте файла, главное, чтобы они были на отдельных строках. Показанные строки являются шаблонами, которые включат все вложенные файлы и папки. Избегайте добавления завершающего `'*'` к строкам, например, `target/*`.

Для получения дополнительной информации о синтаксисе `gitignore` обратитесь к [документации Git](https://git-scm.com/docs/gitignore).

4. Сохраните изменения, но *не коммитьте*.
5. Перезапустите IDE, нажав на три точки рядом с кнопкой **IDE Status** в нижнем правом углу экрана IDE и выберите **Restart IDE**.

[![Перезапустите IDE, нажав на три точки в правом нижнем углу или на строку состояния](/img/docs/dbt-platform/platform-ide/restart-ide.png?v=2 "Перезапустите IDE, нажав на три точки в правом нижнем углу или на строку состояния")](#)Перезапустите IDE, нажав на три точки в правом нижнем углу или на строку состояния

6. После перезапуска Studio IDE перейдите в **File Catalog**, чтобы удалить следующие файлы или папки (если они существуют). Данные при этом не будут потеряны:

   * `target`, `dbt_modules`, `dbt_packages`, `logs`

7. Нажмите **Save**, а затем **Commit and sync**, чтобы сохранить изменения, создать коммит и синхронизировать их.

8. Снова перезапустите Studio IDE, выполнив те же действия, что и на шаге 5.

9. После перезапуска Studio IDE нажмите кнопку **Create a pull request** (PR) в меню **Version Control**, чтобы начать процесс интеграции изменений.

10. Когда на сайте Git-провайдера откроется страница с новым PR, выполните необходимые действия, чтобы завершить оформление PR и слить его в основную ветку этого репозитория.

    * **Примечание** — Основная ветка может также называться 'master', 'dev', 'qa', 'prod' или как-то иначе в зависимости от организационных соглашений о наименовании. Цель состоит в том, чтобы слить эти изменения в корневую ветку, от которой создаются все другие ветки разработки.

11. Вернитесь в Studio IDE и с помощью кнопки **Change Branch** переключитесь на основную ветку проекта.

12. После переключения ветки нажмите кнопку **Pull from remote**, чтобы получить все изменения.

13. Проверьте изменения: убедитесь, что файлы и папки, указанные в файле `.gitignore`, отображаются курсивом.

[![Проект dbt в основной ветке с правильно настроенными исключениями для папок в gitignore (выделены курсивом).](/img/docs/dbt-platform/platform-ide/gitignore-italics.png?v=2 "Проект dbt в основной ветке с правильно настроенными исключениями для папок в gitignore (выделены курсивом).")](#)Проект dbt в основной ветке с правильно настроенными исключениями для папок в gitignore (выделены курсивом).

 Исправить в Git‑провайдере

Иногда необходимо использовать веб-интерфейс git-провайдера, чтобы исправить поврежденный файл `.gitignore`. Хотя конкретные шаги могут различаться у разных провайдеров, общий процесс остается тем же.

Существует два варианта для этого подхода: редактирование основной ветки напрямую, если это разрешено, или создание pull request для внесения изменений, если это требуется:

### Редактировать в основной ветке

Если разрешения позволяют, можно редактировать `.gitignore` напрямую в основной ветке вашего репозитория. Вот следующие шаги:

1. Перейдите в веб-интерфейс вашего репозитория.
2. Переключитесь на основную ветку и корневую директорию вашего проекта dbt.
3. Найдите файл `.gitignore`. Создайте пустой, если он не существует.
4. Отредактируйте файл в веб-интерфейсе, добавив следующие записи:

```bash
target/
dbt_packages/
logs/
# устаревшее -- переименовано в dbt_packages в dbt v1
dbt_modules/
```

5. Коммитьте (сохраните) файл.
6. Удалите следующие папки из корня проекта dbt, если они существуют. Данные или код не будут потеряны:
   * `target`, `dbt_modules`, `dbt_packages`, `logs`
7. Зафиксируйте (сохраните) удаления в основной ветке.
8. Перейдите в Studio IDE и откройте проект, который вы исправляете.
9. [Восстановите репозиторий из удалённого репозитория](https://docs.getdbt.tech/docs/platform/git/version-control-basics.md#the-git-button-in-the-cloud-ide) в IDE: нажмите на три точки рядом с кнопкой **IDE Status** в правом нижнем углу экрана IDE, затем выберите **Rollback to remote**.
   * **Примечание** — Действие Rollback to remote возвращает ваш репозиторий к состоянию ранее созданного клона удалённого репозитория. Все сохранённые, но не зафиксированные изменения будут потеряны, поэтому обязательно скопируйте изменённый код, который хотите сохранить, во временное расположение за пределами dbt.
10. После восстановления из удалённого репозитория откройте файл `.gitignore` в ветке, в которой вы работаете. Если новых изменений в нём нет, вам потребуется влить последние коммиты из основной ветки в вашу рабочую ветку.
11. Перейдите в **File Explorer**, чтобы проверить, что файл `.gitignore` содержит правильные записи, и убедитесь, что неотслеживаемые файлы и папки, указанные в .gitignore, выделены *курсивом*.
12. Отличная работа 🎉! Вы правильно настроили `.gitignore` и можете продолжать разработку!

### Невозможно редактировать основную ветку

Если вы не можете редактировать `.gitignore` напрямую в основной ветке вашего репозитория, выполните следующие шаги:

1. Перейдите в веб-интерфейс вашего репозитория.
2. Переключитесь на существующую ветку разработки или создайте новую ветку только для этих изменений (это часто быстрее и чище).
3. Найдите файл `.gitignore`. Создайте пустой, если он не существует.
4. Отредактируйте файл в веб-интерфейсе, добавив следующие записи:

```bash
target/
dbt_packages/
logs/
# устаревшее -- переименовано в dbt_packages в dbt v1
dbt_modules/
```

5. Коммитьте (сохраните) файл.
6. Удалите следующие папки из корня проекта dbt, если они существуют. Данные или код не будут потеряны:
   * `target`, `dbt_modules`, `dbt_packages`, `logs`
7. Зафиксируйте (сохраните в коммите) удаление папок.
8. Откройте запрос на слияние через веб-интерфейс вашего Git-провайдера. Запрос должен быть направлен на слияние изменений с веткой 'main', от которой создаются все ветки разработки.
9. Выполните необходимые процедуры, чтобы получить одобрение и слить ветку с веткой 'main'. После завершения слияния вы можете удалить ветку.
10. После завершения слияния вернитесь в Studio IDE и откройте проект, который вы исправляете.
11. [Выполните откат репозитория к состоянию удалённого репозитория](https://docs.getdbt.tech/docs/platform/git/version-control-basics.md#the-git-button-in-the-cloud-ide) в Studio IDE: нажмите на три точки рядом с кнопкой **Studio IDE Status** в правом нижнем углу экрана Studio IDE, затем выберите **Rollback to remote**.
    * **Примечание** — Действие Rollback to remote возвращает репозиторий к состоянию ранее созданной копии удалённого репозитория. Все сохранённые, но не зафиксированные в коммите изменения будут потеряны, поэтому обязательно скопируйте изменённый код, который хотите сохранить, во временное расположение за пределами dbt.
12. После отката к состоянию удалённого репозитория откройте файл `.gitignore` в ветке, над которой вы работаете. Если новые изменения отсутствуют, вам потребуется слить последние коммиты из ветки main с вашей рабочей веткой.
13. Перейдите в **File Explorer**, чтобы убедиться, что файл `.gitignore` содержит правильные записи, а неотслеживаемые файлы и папки, указанные в .gitignore, отображаются *курсивом*.
14. Отличная работа 🎉! Вы правильно настроили `.gitignore` и можете продолжать разработку!

Для получения дополнительной информации см. это [подробное видео](https://www.loom.com/share/9b3b8e2b617f41a8bad76ec7e42dd014) с дополнительными пояснениями.

Как мигрировать между git-провайдерами

Чтобы мигрировать от одного git-провайдера к другому, следуйте следующим шагам, чтобы избежать минимальных перебоев:

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

   Например, если вы мигрируете с GitHub на Azure DevOps, вам нужно импортировать существующий репозиторий (GitHub) в нового провайдера Git (Azure DevOps). Подробные инструкции по выполнению этой операции смотрите в документации вашего провайдера Git (например, [GitHub](https://docs.github.com/en/migrations/importing-source-code/using-github-importer/importing-a-repository-with-github-importer), [GitLab](https://docs.gitlab.com/ee/user/project/import/repo_by_url.html), [Azure DevOps](https://learn.microsoft.com/en-us/azure/devops/repos/git/import-git-repository?view=azure-devops)).

2. Вернитесь в dbt и при необходимости настройте [интеграцию с новым провайдером Git](https://docs.getdbt.tech/docs/platform/git/configure-git.md).

3. Отключите старый репозиторий в dbt, перейдя в **Account Settings**, а затем в **Projects**.

4. Нажмите ссылку **Repository**, затем нажмите **Edit** и **Disconnect**.

   [![Отключение и повторное подключение Git-репозитория на странице настроек аккаунта dbt.](/img/docs/dbt-platform/disconnect-repo.png?v=2 "Отключение и повторное подключение Git-репозитория на странице настроек аккаунта dbt.")](#)Отключение и повторное подключение Git-репозитория на странице настроек аккаунта dbt.

5. Нажмите **Confirm Disconnect**.

6. На той же странице подключите репозиторий нового провайдера Git, нажав **Configure Repository**.

   * Если вы используете нативную интеграцию, может потребоваться пройти OAuth-авторизацию.

7. Готово! Теперь вы подключены к новому провайдеру Git! 🎉

Примечание — Рекомендуем обновить страницу и Studio IDE перед выполнением любых действий.
