При создании или обновлении бота на Bothost можно выбрать, из какой ветки Git-репозитория брать код. По умолчанию используется ветка main, но вы можете указать любую другую — например master, dev или release. Это удобно, когда рабочий (стабильный) код лежит в одной ветке, а эксперименты — в другой: вы деплоите именно ту ветку, которая нужна.

Где узнать имя ветки в репозитории

Имя ветки — это то, что написано в самом Git-хостинге (GitHub, GitLab, Bitbucket). Открыть его можно в переключателе веток вашего репозитория. На GitHub нажмите на кнопку с названием текущей ветки (слева над списком файлов) — откроется список Switch branches/tags. Ветка, помеченная как default, используется по умолчанию, если вы ничего не измените. Переключатель веток в репозитории GitHub
В примере выше единственная ветка называется main и она же является веткой по умолчанию (default). Именно это имя нужно указать в Bothost.
Как быстро узнать ветку по умолчанию:
  • GitHub — Settings → Branches → «Default branch».
  • GitLab — Settings → Repository → «Branch defaults».
  • Через терминал в самом репозитории:
git branch --show-current

Как указать ветку в Bothost

    • В личном кабинете откройте форму создания бота.
    • Найдите блок «Репозиторий».
    • В поле Git URL репозитория вставьте ссылку на репозиторий, например https://github.com/username/bot.git.
    • В поле Ветка укажите нужную ветку. Если оставить поле пустым, будет использована ветка по умолчанию — main.
Поле «Ветка» в форме создания бота на Bothost После этого нажмите Создать бота — Bothost склонирует и задеплоит код именно из указанной ветки. Уже созданный бот меняется отдельно: откройте его настройки, вкладку «Репозиторий», укажите URL и ветку и нажмите «Сохранить и пересобрать». Токен бота, переменные и папка data/ остаются. Перед сохранением Bothost проверяет, что репозиторий открывается и такая ветка есть.

Ошибка: указана несуществующая ветка

Если в поле Ветка указать имя, которого нет в репозитории, сборка упадёт на этапе клонирования. В логах вы увидите примерно такое:
fatal: Remote branch main not found in upstream origin
ERROR: clone failed with code 128
Здесь main — это то имя, которое вы вписали в поле «Ветка». Ошибка означает, что в репозитории нет ветки с таким именем. Как исправить:
  • Откройте переключатель веток на GitHub/GitLab и посмотрите, как точно называется нужная ветка.
  • Учтите регистр: main ≠ Main ≠ MAIN.
  • Проверьте, что нет лишних пробелов в начале или конце имени.
  • Если сомневаетесь — оставьте поле пустым, тогда будет использована ветка по умолчанию.

Частые вопросы

Что будет, если оставить поле «Ветка» пустым?

Bothost возьмёт ветку по умолчанию — main.

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

Да. Откройте настройки бота → вкладка «Репозиторий». Поле Репозиторий — URL (GitHub, GitLab, GitFlic и другой Git по HTTPS). Поле Ветка — точное имя, регистр важен (main и Main — разные ветки). Пустая ветка сохраняется как main. Кнопка «Сохранить и пересобрать» сначала проверяет доступ, затем собирает бота из нового источника. ID бота, домен, токен, переменные и папка data/ не сбрасываются. Если ветки нет, сохранение не начнётся: в сообщении будет список веток, которые в репозитории есть.

Работает ли это с приватными репозиториями?

Да. Сначала настройте доступ по инструкции «Подключение приватного репозитория». Токен в URL вставлять не нужно: сборка берёт его со страницы «Репозитории». Если репозиторий был публичным и стал приватным, обновите доступ там и снова нажмите «Сохранить и пересобрать». Без токена Bothost напишет, что нет доступа, и не начнёт сборку.