<!-- Bothost docs | HTML: https://bothost.ru/docs/repository-branch-deploy | Markdown: https://bothost.ru/docs/repository-branch-deploy.md | Index: https://bothost.ru/llms.txt -->

# Как указать ветку репозитория при деплое

При создании или обновлении бота на Bothost можно выбрать, **из какой ветки** Git-репозитория брать код. По умолчанию используется ветка `main`, но вы можете указать любую другую — например `master`, `dev` или `release`.

Это удобно, когда рабочий (стабильный) код лежит в одной ветке, а эксперименты — в другой: вы деплоите именно ту ветку, которая нужна.

## Где узнать имя ветки в репозитории

Имя ветки — это то, что написано в самом Git-хостинге (GitHub, GitLab, Bitbucket). Открыть его можно в переключателе веток вашего репозитория.

На GitHub нажмите на кнопку с названием текущей ветки (слева над списком файлов) — откроется список **Switch branches/tags**. Ветка, помеченная как `default`, используется по умолчанию, если вы ничего не измените.

![Переключатель веток в репозитории GitHub](/docs/images/repo-branch-github.png)

> В примере выше единственная ветка называется `main` и она же является веткой по умолчанию (`default`). Именно это имя нужно указать в Bothost.

**Как быстро узнать ветку по умолчанию:**

- **GitHub** — Settings → Branches → «Default branch».
- **GitLab** — Settings → Repository → «Branch defaults».
- Через терминал в самом репозитории:

```bash
git branch --show-current
```

## Как указать ветку в Bothost

1. В [личном кабинете](https://bothost.ru/) откройте форму создания бота (или редактирования существующего).
2. Найдите блок **«Репозиторий»**.
3. В поле **Git URL репозитория** вставьте ссылку на репозиторий, например `https://github.com/username/bot.git`.
4. В поле **Ветка** укажите нужную ветку. Если оставить поле пустым, будет использована ветка по умолчанию — `main`.

![Поле «Ветка» в форме создания бота на Bothost](/docs/images/repo-branch-bothost.png)

После этого нажмите **Создать бота** (или **Сохранить** при редактировании) — Bothost склонирует и задеплоит код именно из указанной ветки.

## Ошибка: указана несуществующая ветка

Если в поле **Ветка** указать имя, которого нет в репозитории, сборка упадёт на этапе клонирования. В логах вы увидите примерно такое:

```text
fatal: Remote branch main not found in upstream origin
ERROR: clone failed with code 128
```

Здесь `main` — это то имя, которое вы вписали в поле «Ветка». Ошибка означает, что в репозитории **нет ветки с таким именем**. Как исправить:

- Откройте переключатель веток на GitHub/GitLab и посмотрите, как **точно** называется нужная ветка.
- Учтите регистр: `main` ≠ `Main` ≠ `MAIN`.
- Проверьте, что нет лишних пробелов в начале или конце имени.
- Если сомневаетесь — оставьте поле пустым, тогда будет использована ветка по умолчанию.

## Частые вопросы

#### Что будет, если оставить поле «Ветка» пустым?

Bothost возьмёт ветку по умолчанию — `main`.

#### Можно ли поменять ветку у уже созданного бота?

Да. Откройте настройки бота, измените поле **Ветка** и сохраните — при следующем деплое код будет взят из новой ветки.

#### Работает ли это с приватными репозиториями?

Да. Сначала настройте доступ по инструкции [«Подключение приватного репозитория»](/docs/git-repository-access), а затем так же укажите нужную ветку.
