brainax

Ветки и Pull Request

Урок 9 из 26 курса «Вайбкодинг: курс с нуля». Бесплатно, с анимациями и тестом.

main: живой сайт

Ветка: отдельная линия коммитов в проекте. Главная ветка обычно называется main. Если хостинг подключён к репозиторию, то, что лежит в main, и есть сайт, который прямо сейчас видят люди. Нижняя линия на схеме: это main. Отсюда правило: в main не экспериментируют. Сломал main, и сайт сломан у всех, пока ты чинишь.

Ветка: копия для экспериментов

Пример: нужна кнопка «Заказать заранее» на сайте кофейни, где ты подрабатываешь. Создаёшь ветку, параллельную копию проекта. На схеме она уходит вверх и называется «новая-кнопка». В ней можно сделать сколько угодно коммитов, тут их два. Живой сайт в это время не меняется. Не вышло? Просто бросаешь ветку, main ничего не заметит.

Pull Request: проверка перед слиянием

Pull Request, коротко PR: запрос «влей мою ветку в main». На странице PR видно три вещи. Дифф: какие строки добавлены и какие удалены. Комментарии: можно обсудить правки с другом или с ИИ. Автоматические проверки: программы сами прогоняют код и ставят галочку, если всё прошло. На схеме ветка возвращается в main как раз через эту коробку.

Превью и merge

Многие хостинги собирают для ветки превью: отдельную копию сайта по своей ссылке. Это чип «превью-ссылка» на схеме. Открываешь её с телефона, жмёшь новую кнопку, смотришь, ничего ли не поехало. Живой сайт при этом не тронут. Всё ок? Жмёшь merge («слить»): изменения ветки попадают в main, и хостинг сам обновляет живой сайт.

Как работать так с агентом

Схема та же, просто код пишет ИИ. Даёшь агенту задачу и добавляешь: «Сделай это в отдельной ветке и открой PR». Он создаёт ветку, делает коммиты и открывает PR. Ты открываешь превью, проверяешь и пишешь, что поправить. Когда всё работает, merge делаешь сам. Так ошибка ИИ остаётся в ветке, а не на живом сайте.

Проверь себя

  1. Зачем делать новую функцию в отдельной ветке?
    Правильный ответ: Чтобы пробовать, не ломая живой сайт в main. Ветка: параллельная копия. В ней можно ошибаться сколько угодно, а main с живым сайтом не меняется до merge.
  2. Что такое Pull Request?
    Правильный ответ: Запрос влить ветку в main, с диффом и проверками. PR: страница, где видно, что изменилось, есть комментарии и автопроверки. Скачать код с GitHub: это pull, другое дело.
  3. Агент открыл PR. Что делаешь перед merge?
    Правильный ответ: Открываю превью и проверяю, что всё работает. ИИ тоже ошибается, поэтому финальная проверка за тобой. Превью показывает новую версию до того, как она попадёт на живой сайт.

← GitHub: твой код в облаке Терминал за 10 минут →