# Подключение к GitHub

Платформа dbt

Подключение учетной записи GitHub к dbt упрощает работу с dbt и обеспечивает дополнительный уровень безопасности:

* Импортируйте новые репозитории GitHub за несколько нажатий при настройке проекта dbt.
* Клонируйте репозитории по HTTPS вместо SSH.
* Запускайте сборки [непрерывной интеграции](https://docs.getdbt.tech/docs/deploy/continuous-integration.md) (CI) при открытии пул-реквестов в GitHub.

Домены GitHub Enterprise Cloud (`ghe.com`)

Если ваша организация использует GitHub Enterprise Cloud, размещенный в домене `ghe.com`, общее приложение GitHub для dbt не сможет получить к нему доступ. Обратите внимание: учетные записи `ghe.com` управляются в облаке (а не в локальной инфраструктуре), но это ограничение все равно действует.

Учетные записи Enterprise и Enterprise+ могут подключиться, зарегистрировав [собственное приложение GitHub](#custom-github-application). На других тарифных планах используйте [импорт проекта по URL Git](https://docs.getdbt.tech/docs/platform/git/import-a-project-by-git-url.md) с SSH-ключами или ключами развертывания. Настройка SSH URL вашей организации может потребовать дополнительных действий, а некоторые возможности встроенной интеграции недоступны при подключении по URL Git.

За дополнительной помощью с вашей конфигурацией обратитесь в [службу поддержки dbt](mailto:support@getdbt.com) или к команде dbt, сопровождающей вашу учетную запись.

## Предварительные требования

* **Права доступа GitHub**: Для [установки приложения](https://docs.getdbt.tech/docs/platform/git/connect-github.md#installing-dbt-in-your-github-account) необходимо быть владельцем организации GitHub. Подробнее о ролях в [организации GitHub](https://docs.github.com/en/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization).
* **Права доступа dbt**: Владельцу вашей организации GitHub также требуются права [*Owner*](https://docs.getdbt.tech/docs/platform/manage-access/self-service-permissions.md) или [*Account Admin*](https://docs.getdbt.tech/docs/platform/manage-access/enterprise-permissions.md) в dbt platform. При необходимости создайте для установки временную учетную запись с этими [правами](https://docs.getdbt.tech/docs/platform/manage-access/enterprise-permissions.md).
* **GitHub в локальной инфраструктуре или с размещением в ЕС**: На тарифных планах Enterprise и Enterprise+ можно использовать встроенную интеграцию, зарегистрировав [собственное приложение GitHub](#custom-github-application). На других тарифных планах [подключайтесь по URL Git](https://docs.getdbt.tech/docs/platform/git/import-a-project-by-git-url.md): этот способ поддерживает [меньше](https://docs.getdbt.tech/docs/platform/git/import-a-project-by-git-url.md#limited-integration) возможностей Git.

Учет регистра в именах репозиториев

При указании репозитория GitHub в dbt platform через пользовательский интерфейс, API или провайдер Terraform имя репозитория должно в точности соответствовать регистру в URL GitHub, чтобы избежать ошибок клонирования или сбоев заданий. Например, если URL вашего репозитория — `github.com/my-org/MyRepo`, введите имя `MyRepo`, а не `myrepo`.

## Выбор приложения GitHub

dbt подключается к GitHub через приложение GitHub App. Есть два варианта:

* [Общее приложение dbt (по умолчанию)](#installing-dbt-in-your-github-account), доступное любой организации, подключающейся к `github.com`.
* Ваше [собственное приложение GitHub](#custom-github-application), доступное в рамках закрытого бета-тестирования для учетных записей Enterprise и Enterprise+ в средах MT или ST, использующих GitHub Enterprise Server или GitHub с хранением данных в ЕС. Чтобы присоединиться к бета-тестированию, обратитесь к менеджеру вашей учетной записи. [Закрытая бета-версия](https://docs.getdbt.tech/docs/dbt-versions/product-lifecycles "Подробнее о статусе или тарифе")

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

## Установка dbt в учетной записи GitHub

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

1. В dbt нажмите на имя своей учетной записи в левом меню и выберите **Account settings**.
2. Выберите **Personal profile** в разделе **Your profile**.
3. Прокрутите страницу вниз до **Linked accounts**.

[![Переход к разделу Linked accounts в вашем профиле](/img/docs/dbt-platform/platform-configuring-dbt-platform/connecting-github/github-connect-1.png?v=2 "Переход к разделу Linked accounts в вашем профиле")](#)Переход к разделу Linked accounts в вашем профиле

4. В разделе **Linked accounts** настройте подключение своей учетной записи GitHub к dbt, нажав **Link** справа от GitHub. Вы будете перенаправлены в свою учетную запись GitHub, где вам предложат установить и настроить приложение dbt.

5. Выберите организацию GitHub и репозитории, к которым dbt должен иметь доступ.

   [![Установка приложения dbt в организации GitHub](/img/docs/dbt-platform/platform-configuring-dbt-platform/connecting-github/github-app-install.png?v=2 "Установка приложения dbt в организации GitHub")](#)Установка приложения dbt в организации GitHub

6. Предоставьте приложению GitHub App для dbt следующие права:

   * Чтение метаданных (Metadata)
   * Чтение и запись проверок (Checks)
   * Чтение и запись статусов коммитов (Commit statuses)
   * Чтение и запись содержимого (Contents / Code)
   * Чтение и запись пул-реквестов (Pull requests)
   * Чтение и запись вебхуков (Webhooks)
   * Чтение и запись рабочих процессов (Workflows)

7. После предоставления доступа приложению вы будете перенаправлены обратно в dbt и увидите подтверждение успешной привязки учетной записи. Теперь вы прошли персональную аутентификацию.

8. Попросите участников команды пройти аутентификацию по отдельности, подключив свои [личные профили GitHub](#authenticate-your-personal-github-account).

## Ограничение доступа к репозиториям в GitHub

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

[![Настройка приложения dbt](/img/docs/dbt-platform/platform-configuring-dbt-platform/connecting-github/configure-github.png?v=2 "Настройка приложения dbt")](#)Настройка приложения dbt

## Собственное приложение GitHub [Enterprise](https://www.getdbt.com/pricing "Подробнее о статусе или тарифе")[Enterprise +](https://www.getdbt.com/pricing "Подробнее о статусе или тарифе")[Закрытая бета-версия](https://docs.getdbt.tech/docs/dbt-versions/product-lifecycles "Подробнее о статусе или тарифе")

Доступно в рамках закрытого бета-тестирования

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

Общее приложение GitHub App для dbt размещается отдельно в каждом [регионе](https://docs.getdbt.tech/docs/platform/about-platform/access-regions-ip-addresses.md), поэтому оно может обращаться только к репозиториям на `github.com`. Если ваша организация использует [GitHub Enterprise Server](https://docs.github.com/en/enterprise-server@3.14/admin/overview/about-github-enterprise-server) или [GitHub с хранением данных в ЕС](https://github.com/enterprise/data-residency), зарегистрируйте собственное приложение GitHub и настройте dbt на его использование.

Администратор учетной записи (или администратор безопасности) может выполнить эту настройку один раз:

1. [Зарегистрируйте приложение GitHub](#register-a-github-application) в своей организации GitHub
2. [Добавьте свое приложение GitHub в dbt](#add-your-github-application-to-dbt)

Затем каждому разработчику в учетной записи необходимо [повторно привязать свой профиль GitHub](#relink-your-github-profile).

### Регистрация приложения GitHub

Доступность репозиториев

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

Рекомендуем создавать приложение в организации GitHub, а не в личной учетной записи, чтобы подключение не прервалось при уходе сотрудника. Полное описание действий на стороне GitHub приведено в руководстве GitHub по [регистрации приложения GitHub App](https://docs.github.com/en/apps/creating-github-apps/registering-a-github-app/registering-a-github-app).

1. В dbt перейдите в **Account settings** > **Integrations** > **Git** и разверните раздел **GitHub**. Нажмите **Copy** рядом с **Redirect URL** — этот адрес понадобится на следующем шаге.

2. В своей организации GitHub перейдите в **Settings** > **Developer settings** > **GitHub Apps** и выберите **New GitHub App**.

3. Введите следующие данные:

   | Поле                | Значение                                                                                                                                                                                |
   | ------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
   | **GitHub App name** | Узнаваемое имя, например `dbt platform`                                                                                                                                                 |
   | **Homepage URL**    | [URL доступа](https://docs.getdbt.tech/docs/platform/about-platform/access-regions-ip-addresses.md) к вашему dbt                                                                       |
   | **Redirect URL**    | Значение **Redirect URL**, скопированное из dbt                                                                                                                                         |
   | **Webhook**         | Оставьте флажок **Active** установленным и введите любой URL-заполнитель (например, <https://example.com>) в поле **Webhook URL**. dbt его не использует, но GitHub требует его указать |

4. Предоставьте приложению следующие права доступа к репозиториям:

   * Чтение метаданных (Metadata)
   * Чтение и запись проверок (Checks)
   * Чтение и запись статусов коммитов (Commit statuses)
   * Чтение и запись содержимого (Contents / Code)
   * Чтение и запись пул-реквестов (Pull requests)
   * Чтение и запись вебхуков (Webhooks)
   * Чтение и запись рабочих процессов (Workflows)

5. Выберите **Create GitHub App**. GitHub создаст **App ID** и **Client ID**.

6. Сгенерируйте **Client secret** и сохраните его в безопасном месте, поскольку GitHub показывает его только один раз.

7. В разделе **Private keys** выберите **Generate a private key**. GitHub скачает файл `.pem`. Затем вам нужно будет вставить его содержимое в dbt.

8. Установите приложение в своей организации и сохраните его **URL установки**. См. документацию GitHub о [предоставлении доступа к приложению по ссылке установки](https://docs.github.com/en/apps/sharing-github-apps/sharing-your-github-app#sharing-your-github-app-via-an-install-link).

Если вы используете тарифный план Business Critical с [ограничениями по IP-адресам](https://docs.getdbt.tech/docs/platform/secure/ip-restrictions.md), убедитесь, что диапазоны CIDR вашего экземпляра GitHub разрешены, иначе подключение не будет работать.

### Добавление своего приложения GitHub в dbt

Существующие подключения к GitHub перестанут работать

Если ваша учетная запись уже использует общее приложение GitHub App для dbt, переключение на собственное приложение сделает недействительными все существующие привязки профилей GitHub. Каждому пользователю учетной записи потребуется [повторно привязать свой профиль GitHub](#relink-your-github-profile), прежде чем он сможет продолжить разработку или запускать CI. Согласуйте переход с командой.

1. В dbt вернитесь в **Account settings** > **Integrations** > **Git** и разверните раздел **GitHub**.

2. Введите следующие данные:

   | Поле                | Значение                                                                                                                                                                        |
   | ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
   | **GitHub base URL** | Имя хоста вашего GitHub. Используйте `https://github.com` для GitHub.com или собственное имя хоста для GitHub Enterprise Server, например `https://github.yourgreatcompany.com` |
   | **App ID**          | Значение **App ID** вашего приложения GitHub                                                                                                                                    |
   | **Client ID**       | Значение **Client ID** вашего приложения GitHub                                                                                                                                 |
   | **Client secret**   | Сгенерированный вами секрет клиента                                                                                                                                             |
   | **Private key**     | Полное содержимое скачанного файла `.pem`, включая строки `BEGIN` и `END`                                                                                                       |
   | **Install URL**     | Необязательно. Ссылка для установки вашего приложения                                                                                                                           |

   [![Добавление собственного приложения GitHub в разделе Account settings, Integrations, Git](/img/docs/dbt-platform/platform-configuring-dbt-platform/connecting-github/github-application-platform.png?v=2 "Добавление собственного приложения GitHub в разделе Account settings, Integrations, Git")](#)Добавление собственного приложения GitHub в разделе Account settings, Integrations, Git

3. Выберите **Save**. dbt проверит учетные данные в GitHub. Если что-то не так, dbt покажет ошибку и не сохранит конфигурацию.

Теперь dbt выполняет всю авторизацию GitHub для этой учетной записи через ваше приложение.

### Повторная привязка профиля GitHub

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

1. В dbt нажмите на имя своей учетной записи в левом меню и выберите **Account settings**.
2. Выберите **Personal profile** в разделе **Your profile**.
3. Прокрутите страницу до **Linked accounts** и нажмите **Unlink** рядом с GitHub, если старое подключение все еще отображается.
4. Нажмите **Link** и авторизуйте приложение GitHub вашей организации.

Подробные инструкции приведены в разделе [Аутентификация личной учетной записи GitHub](#authenticate-your-personal-github-account).

### Удаление интеграции с GitHub

Администраторы учетной записи и администраторы безопасности могут удалить интеграцию с GitHub в разделе **Account settings** > **Integrations** > **Git**.

Удаление интеграции отключает всех пользователей

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

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

Обратите внимание на следующие ограничения:

* Одно приложение GitHub на учетную запись dbt. Нельзя задать отдельное приложение для каждого проекта.
* Нельзя настроить несколько интеграций с GitHub в одной учетной записи.
* Только администраторы учетной записи и администраторы безопасности могут создавать, обновлять или удалять интеграцию с GitHub.

## Аутентификация личной учетной записи GitHub

После того как администратор dbt [настроит подключение](https://docs.getdbt.tech/docs/platform/git/connect-github.md#installing-dbt-in-your-github-account) к учетной записи GitHub вашей организации, вам необходимо пройти аутентификацию с помощью личной учетной записи. Вы должны подключить свой личный профиль GitHub к dbt, чтобы использовать [Studio IDE](https://docs.getdbt.tech/docs/platform/studio-ide/develop-in-studio.md) и [CLI](https://docs.getdbt.tech/docs/platform/dbt-cli-installation.md) и подтвердить свои права на чтение и запись в репозиторий.

Подключение профиля GitHub

* Каждый разработчик dbt на [тарифном плане Enterprise или Enterprise+](https://www.getdbt.com/pricing/) должен подключить свой профиль GitHub к dbt. Это необходимо, поскольку Studio IDE проверяет права каждого разработчика на чтение и запись в репозиторий dbt.

* Разработчикам dbt на [тарифном плане Starter](https://www.getdbt.com/pricing/) не обязательно подключать свои профили GitHub, однако это все же рекомендуется.

Если ваша учетная запись использует [собственное приложение GitHub](#custom-github-application), вы авторизуете это приложение вместо общего приложения dbt, а ваш доступ к репозиториям соответствует настройкам установленного приложения GitHub App.

Чтобы подключить личную учетную запись GitHub:

1. В dbt нажмите на имя своей учетной записи в левом меню и выберите **Account settings**.

2. Выберите **Personal profile** в разделе **Your profile**.

3. Прокрутите страницу вниз до **Linked accounts**. Если ваша учетная запись GitHub не подключена, вы увидите сообщение «No connected account».

4. Нажмите **Link**, чтобы начать настройку. Вы будете перенаправлены в GitHub, где на экране предоставления разрешений вам предложат авторизовать dbt.

[![Авторизация приложения dbt для разработчиков](/img/docs/dbt-platform/platform-configuring-dbt-platform/connecting-github/github-auth.png?v=2 "Авторизация приложения dbt для разработчиков")](#)Авторизация приложения dbt для разработчиков

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

Теперь вы можете использовать Studio IDE или CLI 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 перед выполнением любых действий.

Почему dbt отклоняет данные моего собственного приложения GitHub?

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

* **App ID**: Используйте **App ID** со страницы настроек вашего приложения GitHub, а не идентификатор клиента или идентификатор установки.
* **Private key**: Вставьте всё содержимое файла `.pem`, включая строки `-----BEGIN RSA PRIVATE KEY-----` и `-----END RSA PRIVATE KEY-----`. Если вы потеряли файл, создайте новый закрытый ключ в GitHub.
* **Client ID**: Вставьте **Client ID** вашего приложения GitHub.
* **GitHub base URL**: Укажите имя хоста вашего экземпляра GitHub без завершающей косой черты и без пути `/api/v3`, например `https://github.yourgreatcompany.com`.
* **Client secret**: GitHub показывает это значение только один раз. Если вы его не скопировали, создайте новое.
* **Сетевой доступ**: Ваш экземпляр GitHub должен быть доступен из dbt. Если вы используете [ограничения по IP-адресам](https://docs.getdbt.tech/docs/platform/secure/ip-restrictions.md), убедитесь, что доступ для соответствующих диапазонов CIDR разрешён.

Инструкции по настройке см. в разделе [Собственное приложение GitHub](https://docs.getdbt.tech/docs/platform/git/connect-github.md#custom-github-application). Эта возможность доступна в рамках закрытого бета-тестирования.
