Баннер мобильный (3) Пройти тест

Как работать с ветками Git: branch, checkout, switch, merge 

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

Разбор

25 мая 2026

Поделиться

Скопировано
Как работать с ветками Git: branch, checkout, switch, merge 

Содержание

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

    Что такое ветка Git

    Ветка — отдельная линия разработки внутри проекта. Когда вы создаете новую ветку, Git копирует текущее состояние проекта и позволяет работать с ним независимо от основной версии.

    Обычно главная ветка называется main или master. В ней хранится стабильный код. Если вы хотите добавить новую функцию или поэкспериментировать, то создаете отдельную ветку — там можно менять что-угодно, не рискуя сломать прод. Потом новую ветку Git сливают обратно в main или просто удаляют.

    Обычно разработчики создают отдельную ветку под каждую задачу:

    • создание новой функции;
    • исправление ошибки;
    • редизайн страницы;
    • рабочие эксперименты.

    Благодаря этому можно вносить изменения и работать в команде, не мешая друг другу.

    Ветки в Git
    Как устроены ветки в Git. Источник

    Как выглядит работа с ветками Git на практике

    Представим, что вам нужно добавить регистрацию на сайт. Без веток вы бы меняли код прямо в main. Но если что-то пойдет не так, то проблема сразу попадет в прод.

    С ветками работа выглядит безопаснее:

    • Создаете отдельную ветку под регистрацию.
    • Переключаетесь в нее.
    • Безопасно меняете код.
    • Проверяете, все ли работает.
    • Объединяете изменения с главной веткой.

    Для каждого действия с ветками есть отдельная команда Git. 

    git branch

    Git branch показывает список всех веток в проекте. При этом текущая ветка Git  всегда помечается *звездочкой — это значит, что вы сейчас находитесь в ней.

    git branch
    Команда git branch. Источник

    Для создания новой ветки используют git branch + название новой ветки.

    Создать новую ветку
    Создание ветки через git branch. Источник

    После этого созданная ветка появится в общем списке, но Git не переключится на нее автоматически. Это частая ошибка новичков: они создают новую ветку, но при этом продолжают работать в main. 

    Чтобы удалить ветку Git, введите git branch с флагом -d. Имейте ввиду, что в Git нельзя удалить ветку, если она еще не влита в основную версию проекта — это защита от случайной потери кода. Если вы уверены, что ветка больше не пригодится, можно использовать принудительное удаление с флагом -D.

    git checkout 

    Команду git checkout -b используют, чтобы создать новую ветку и сразу переключиться в нее. После этого все ваши коммиты будут попадать в указанную ветку, а не в main.

    git checkout
    git checkout -b создает новую ветку и переключает в нее. Источник

    Чтобы вернуться в основную ветку, используйте команду git checkout main.

    Имейте ввиду, что git checkout может делать много разных вещей, например, восстанавливать файлы из коммитов, отменять изменения и делать другие операции, не связанные с ветками. Такая многозадачность часто путает новичков. Поэтому, начиная с версии Git 2.23, выпущенной в 2019 году, появилась новая более понятная альтернатива.

    git switch 

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

    • Переключиться на существующую ветку — git switch название ветки;
    • Создать новую ветку и сразу переключиться на нее — git switch -c название ветки;
    • Вернуться в предыдущую ветку — git switch -.

    По сравнению с checkout команда git switch выглядит проще и понятнее, особенно для новичков. Поэтому большинство разработчиков используют ее.

    git switch
    Создание ветки через git switch. Источник

    git merge

    Предположим, вы сделали функцию в новой ветке и убедились, что она работает. После этого можно переключиться обратно в main и выполнить слияние с помощью git merge. Git объединит изменения с текущей веткой. 

    слияние в git
    Слияние веток в Git. Источник

    Если вдруг два разработчика изменили одну и ту же строку по-разному, произойдет конфликт. Git покажет проблемное место и предложит вручную выбрать итоговую версию кода.

    Помните, что после merge ветка не удаляется автоматически. Если она больше не нужна, ее можно удалить через git branch -d.

    Частые ошибки новичков

    Создание веток — один из самых мощных инструментов Git, но именно с ним чаще всего возникают проблемы. Бывает, что начинающие разработчики:

    • Работают напрямую в main. Например, потому что боятся слияния. Из-за этого нестабильный код попадает сразу в основную версию проекта. Чем раньше вы научитесь разрешать конфликты, тем увереннее будете чувствовать себя в командной разработке.
    • Забывают переключиться в нужную ветку. Делают git branch и думают, что уже находятся в новой ветке. Но коммиты попадают в main, потому что переключения не было. В итоге изменения случайно оказываются не там, где планировалось.
    • Долго не обновляют ветку. Чем сильнее ветка отстает от main, тем выше шанс получить сложный конфликт. Если разработчик работал в ветке две недели и все это время не делал merge, то при слиянии возникнет десяток конфликтов, которые будет трудно разрешить. Если обновлять код хотя бы раз в день, конфликты будут небольшими и понятными.
    • Создают одну огромную ветку под все сразу. Большие ветки тяжело проверять, тестировать и объединять. Лучше создавайте отдельную ветку под каждую задачу, а когда она будет завершена — сливайте с основным кодом через git merge. 

    При работе с ветками важно быть внимательным. Ошибки здесь обходятся дороже, чем в обычных коммитах — можно потерять код или случайно сломать стабильную версию. 

    Главное про ветки Git

    • Ветки Git используют, чтобы безопасно работать над задачами отдельно от основного кода.
    • Главная ветка обычно называется main или master.
    • git branch используют, чтобы отобразить список всех веток или создать новую.
    • git checkout и git switch — переключают между ветками.
    • git merge — соединяет новую ветку с основной.
    • Чтобы избежать сложных конфликтов, рекомендуется выполнять слияние ветки с основным кодом хотя бы раз в день.

    Разбор

    Поделиться

    Скопировано
    0 комментариев
    Комментарии