Основная ветка master
Оригинальное название: master branch
Коротко
Традиционное имя основной ветки Git-репозитория. Для новых проектов GitHub и GitLab по умолчанию создают ветку main, но master по-прежнему встречается повсеместно.
Что такое «Основная ветка master»
Основная ветка — та, в которой лежит актуальная стабильная версия кода: с неё собирают релизы, её выкладывают на боевой сайт, в неё вливают проверенные ветки задач. Без дополнительной настройки Git создаёт её под именем master (переход на main в самом Git запланирован на версию 3.0), и оно стало привычным во всех учебниках и инструкциях.
В 2020–2021 годах GitHub и GitLab сменили имя по умолчанию для новых репозиториев на main, а в Git появилась настройка init.defaultBranch, позволяющая выбрать имя самому. Старые проекты массово переименовывать не стали, поэтому сегодня встречаются оба варианта, а в документации часто пишут «основная ветка» без привязки к имени.
Технически ничем не особенная
Для Git master — обычная ветка, как любая другая. Особый статус ей придаёт договорённость команды и настройки платформы: какая ветка открывается по умолчанию, в какую нацелены запросы на слияние, какую копирует git clone. Поэтому имя можно поменять без потери истории.
Как переименовать master в main
git config --global init.defaultBranch main # для будущих репозиториев
git branch -m master main # переименовать локально
git push -u origin main # отправить под новым именем
git push origin --delete master # удалить старую на сервере
Перед последней командой в настройках платформы нужно сделать main веткой по умолчанию, иначе сервер не даст удалить master. Коллегам после этого достаточно выполнить git fetch, переименовать свою локальную ветку той же командой git branch -m и связать её с origin/main. Перед удалением старой ветки стоит проверить скрипты выкладки и CI/CD: если там прописано имя master, выкладка перестанет срабатывать.
Защита основной ветки
Раз основная ветка соответствует рабочей версии, на платформе её обычно защищают: запрещают прямую отправку и принудительную перезапись, требуют проверку кода и успешные тесты перед слиянием. Это страхует от ситуации, когда незаконченная правка попадает на боевой сайт простым git push с чужого ноутбука.

