При инициализации нового репозитория по умолчанию будет создана ветка master
или main
.
Ветки в Git представляют собой легковесные механизмы, позволяющие работать над различными версиями проекта параллельно. Они позволяют изолировать различные функциональные изменения и экспериментировать с ними, не затрагивая основную ветку разработки (обычно это ветка main
или master
).
По сути ветка есть ни что иное, как указатель на конкретный коммит. При создании нового репозитория ветка main
обычно указывает на первый коммит, который создается при создании репозитория. Этот коммит пустой и не содержит никаких файлов или изменений.
Чтобы узнать, на какой ветке вы находитесь в Git, вы можете использовать команду git branch
или git status
.
Команда git branch
без аргументов покажет список всех веток в вашем репозитории, а текущая ветка будет выделена звездочкой (*
)
Например:
git branch
master
*** development**
feature-x
Здесь текущая ветка - development
.
Команда git status
также покажет текущую ветку, а также статус ваших файлов.
В выводе команды git status
вы увидите строку под названием "On branch", которая указывает на текущую ветку.
Например:
**On branch development**
Your branch is up to date with 'origin/development'.
nothing to commit, working tree clean
Здесь текущая ветка также - development
.
Создание ветки:
Если вы выполните git branch <branch_name>
, это создаст новую ветку с указанным именем, но не переключит вас на неё.
Пример:
git branch # Показывает список всех веток
git branch new-branch # Создает новую ветку с именем "new-branch"
Переключение между ветками:
Чтобы переключиться на другую ветку, используйте команду git checkout
с указанием имени ветки:
git checkout <branch_name>
Например, чтобы переключиться на ветку feature-x
, выполните:
git checkout feature-x
С помощью команды git switch
(доступной начиная с версии Git 2.23) вы можете сделать то же самое:
git switch <branch_name>
Создание и переключение на новую ветку одной командой:
Часто используется для создания и перехода на новую ветку:
git checkout -b <new_branch_name>
Например, для создания и переключения на ветку feature-z
, выполните:
git checkout -b feature-z
Переименование ветки:
Для переименования ветки существует несколько способов, один из них - это переименование через переименование ссылки:
git branch -m <old_branch_name> <new_branch_name>
Например, для переименования ветки feature-x
на feature-y
, выполните:
git branch -m feature-x feature-y
Также можно использовать команду git branch -m <new_branch_name>
. Например, git branch -m feature_1
переименует текущую ветку в "feature_1".
Удаление ветки:
Для удаления ветки используйте команду git branch
с опцией d
, указывая имя ветки, которую вы хотите удалить:
git branch -d <branch_name>
Если ветка содержит изменения, которые еще не были включены в другие ветки, Git выдаст предупреждение и не позволит удалить ветку. Для принудительного удаления ветки, используйте опцию D
:
git branch -D <branch_name>
Ещё ветки можно сливать между собой, но об этом будет позже)
Ветки в Git - мощный инструмент для организации работы над проектом. Используйте их для изоляции новых функций, исправлений ошибок или экспериментов, чтобы сохранить основную ветку стабильной и предсказуемой.