Menu
Coddy logo textTech

Git: Создание ветки

Последнее обновление

Современный способ создать ветку и сразу переключиться на неё в один шаг — это git switch -c <name>. Более старая команда git checkout -b <name> делает то же самое и по-прежнему работает везде. git branch <name> создаёт ветку без переключения на неё. Новая ветка начинается там, где вы находитесь сейчас, если только вы не укажете другую отправную точку.

Попробуйте это в терминальном playground — настоящей оболочке в вашем браузере, ничего не нужно устанавливать.

Создание ветки начинает новую линию коммитов с текущего места - новый указатель появляется мгновенно и ничего не стоит.

Синтаксис

CommandWhat it does
git switch -c featureСоздаёт feature и переключается на неё (современный способ)
git checkout -b featureСоздаёт и переключается (более старый, эквивалентный)
git branch featureСоздаёт ветку без переключения на неё
git switch -c feature mainСоздаёт feature, начиная с main
git switch -c feature <hash>Создаёт ветку, начиная с коммита

Частые случаи

GoalCommand
Создать ветку от удалённой веткиgit switch -c feature origin/feature
Отправить новую ветку и задать upstreamgit push -u origin feature
Создать ветку, на которую переключитесь позжеgit branch feature

Частые вопросы о создании веток в Git

Как создать ветку и переключиться на неё одной командой?
Выполните git switch -c <name> (современный Git) или эквивалентную git checkout -b <name>. Обе создают новую ветку из вашего текущего коммита и сразу переключаются на неё, так что вы можете немедленно начать работу.
В чём разница между git switch -c и git checkout -b?
Они делают одно и то же — создают ветку и переключаются на неё. git switch — более новая и более узконаправленная команда, введённая для отделения переключения веток от множества других применений git checkout. git checkout -b старше, но по-прежнему полностью поддерживается; используйте ту, которую предпочитает ваша команда.
Как создать ветку от другой ветки или от конкретного коммита?
Добавьте отправную точку как последний аргумент: git switch -c feature main создаёт ветку от main, а git switch -c feature <hash> — от конкретного коммита. Без отправной точки ветка создаётся из вашего текущего HEAD.
Как отправить новую ветку в удалённый репозиторий?
После создания локально выполните git push -u origin <name>. Флаг -u задаёт upstream, чтобы будущие git push и git pull на этой ветке не требовали аргументов. Ветка не существует в удалённом репозитории, пока вы её не отправите.
Могу ли я потренироваться в этом онлайн?
Да. Откройте терминальный playground, чтобы выполнить эти команды в настоящей оболочке в вашем браузере — ничего не нужно устанавливать. Бесплатный интерактивный курс по Git от Coddy также охватывает работу с ветками от начала до конца.
Coddy programming languages illustration

Изучайте Git с Coddy

НАЧАТЬ