Как сделать любую ветку основной. ( переименовать в master (main) в Git (и удалить старую ветку))

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

В этой статье разберёмся, как правильно:

  • удалить старую ветку master
  • переименовать mainmaster
  • не сломать репозиторий и CI/CD

 Когда это может понадобиться

  • вы случайно начали проект не в той ветке
  • стандарты команды требуют использовать master вместо main
  • вы синхронизируете структуру веток между проектами
  • CI/CD настроен на конкретное имя ветки

⚠️ Важно перед началом

Перед выполнением убедитесь, что:

  • все изменения закоммичены (git status)
  • вы понимаете, какая ветка сейчас является основной на сервере
  • у вас есть доступ к настройкам репозитория (например, в GitHub или GitLab)

Шаг 1. Переключаемся на main

Сначала убедимся, что мы находимся в ветке, которую будем переименовывать:


 Шаг 2. Удаляем старую ветку master

Локально:

Удаление на удалённом репозитории:


 Шаг 3. Переименовываем mainmaster

Теперь локально у вас вместо main появилась ветка master.


 Шаг 4. Отправляем новую ветку в репозиторий


 Шаг 5. Настраиваем upstream

Чтобы Git понимал, с какой удалённой веткой работать:


⚙️ Шаг 6. Меняем default branch

Если вы используете удалённый репозиторий (например, GitHub или GitLab), обязательно:

  1. Зайдите в настройки репозитория
  2. Найдите раздел Default branch
  3. Установите master вместо main

❗ Это важно, иначе могут перестать работать:

  • CI/CD пайплайны
  • pull/merge requests
  • автодеплой

Что делать другим разработчикам

Если вы работаете в команде, предупредите коллег. Им нужно выполнить:


💡Альтернативный (более безопасный) способ

Если вы не уверены, можно сначала переименовать ветку без удаления:

И только после проверки удалить старую master.


Итог

Переименование ветки в Git — простая операция, но важно учитывать:

  • удалённые ветки
  • настройки репозитория
  • работу команды

Если всё сделать по шагам — никаких проблем не возникнет.


Бонус: частые ошибки

❌ Ошибка: remote: error: refusing to delete the current branch
👉 Решение: сначала смените default branch в настройках репозитория

❌ Ошибка: коллеги не могут запушить изменения
👉 Решение: попросите их обновить ветки через git fetch


Если вы регулярно работаете с Git — такие операции лучше держать под рукой. Это базовый, но очень полезный навык в ежедневной разработке.