Ветка

Оригинальное название: branch

Коротко

Отдельная линия разработки в репозитории: позволяет менять код, не затрагивая основную версию, а потом объединить результат с ней.

Что такое «Ветка»

Если всё делать в одной ветке, любая незаконченная правка сразу смешивается с рабочим кодом. С несколькими ветками можно вести несколько дел одновременно: в одной — новый фильтр каталога, в другой — срочное исправление формы, а основная версия тем временем остаётся рабочей. Когда задача готова, ветку объединяют с основной.

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

Основные команды

git switch -c feature/price-filter   # создать ветку и перейти в неё
git branch                            # список локальных веток
git switch main                       # вернуться в основную
git merge feature/price-filter        # влить готовую работу
git branch -d feature/price-filter    # удалить слитую ветку

Команда git switch появилась в Git 2.23; в старых инструкциях то же делают через git checkout -b. Префиксы feature/, fix/, hotfix/ — не требование Git, а распространённое соглашение, по которому сразу видно назначение ветки.

Схемы ветвления

  • GitHub Flow — одна основная ветка и короткие ветки задач, которые вливаются через запрос на слияние. Подходит большинству сайтов.
  • Git Flow — отдельные ветки для разработки, релизов и срочных исправлений. Удобна при выпуске версий по расписанию, но для сайта с ежедневными правками тяжеловата.
  • Trunk-based — все работают почти напрямую в основной ветке, а незаконченные функции прячут за переключателями в настройках.

Ветки и окружения сайта

Частая схема: ветка main соответствует боевому сайту, develop или stage — тестовому серверу. Например, перед тем как обновить WordPress, тему и плагины, обновления делают в отдельной ветке на копии сайта и переносят в основную только после проверки. Главное правило — не держать ветку задачи неделями: чем дольше она живёт отдельно, тем тяжелее потом слияние.

Обновлено:

Все термины раздела «Git»

Что будем искать? Например,Продвижение