Перейти к содержимому

git branch

Определение

Команда git branch создаёт, перечисляет и удаляет ветки. Она не позволяет переключаться между ветками или снова объединять разветвлённую историю. Поэтому git branch используется вместе с командами git checkout и git merge.

git branch

Использование git branch

Ветвление — это доступная функция в большинстве систем контроля версий. Ветки Git — это указатель на снимок внесённых вами изменений. Новая ветка создаётся, чтобы изолировать изменения, когда вы хотите исправить ошибки или добавить новые функции. Это помогает очистить историю будущих изменений перед их слиянием. Ветки Git — неотъемлемая часть повседневного рабочего процесса. Git не копирует файлы из одного каталога в другой, он хранит ветку как ссылку на коммит.

Как это работает

Ветки представляют собой изолированную линию разработки. Их используют как способ запросить новый рабочий каталог, область подготовки и историю проекта. Разработка изолированных линий для двух функций в ветках позволит работать с ними параллельно и избавит ветку master от сомнительного кода.

git branch1

Распространённые параметры

git branchПоказывает все ветки в репозитории (то же, что и git branch --list).
git branch <branch>Создаёт новую ветку с именем <branch>, но не переключается на неё.
git branch -d <branch>Удаляет ветку. Если есть несмерженные изменения, Git не позволит удалить её.
git branch -D <branch>Принудительно удаляет ветку, даже если есть несмерженные изменения. Выполняйте эту команду, когда уверены, что хотите удалить её навсегда.
git branch -m <branch>Перемещает или переименовывает текущую ветку в <branch>.
git branch -aПоказывает все локальные и удалённые ветки.

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

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

git branch2

Вы можете создать ветку с помощью команды git branch:

the git branch command

bash
git branch test_branch

История репозитория останется неизменной. Будет создан новый указатель на текущий коммит:

git branch3

Недавно созданную ветку следует выбрать с помощью git checkout, а затем использовать git add и git commit, чтобы добавлять в неё коммиты.

Создание удалённых веток

Команда git branch работает не только с локальными ветками, но и с удалёнными. Создание ветки в удалённом репозитории должно быть настроено и добавлено в конфигурацию локального репозитория:

the git branch command

bash
git remote add new-remote-repo https://hostname/user/repo.git
# Add remote repo to local repo config
git push <new-remote-repo> test_branch
# pushes the test_branch branch to new-remote-repo

Удаление веток

После завершения работы над веткой и слияния её с основной master, вы можете удалить её:

git deleting branches

bash
git branch -d test_branch

Если останутся несмерженные изменения, произойдёт ошибка:

git deleting branch error

bash
error: The branch 'test_branch' is not fully merged.
If you are sure you want to delete it, run 'git branch -D test_branch'.

Если вы уверены, что хотите удалить ветку навсегда, можно использовать команду git branch с заглавным параметром -D:

git branch force delete

bash
git branch -D test_branch

Указанные выше команды удаляют только локальную копию ветки. Ветка всё ещё может существовать в удалённых репозиториях. Чтобы удалить удалённую ветку, выполните следующее:

delete remote branch git

bash
git push origin --delete test_branch

или

git deleting remote branch

bash
git push origin :test_branch

Практика

Каковы возможности и функции команды 'git branch'?

Считаете ли это полезным?

Предпросмотр dual-run — сравните с маршрутами Symfony на продакшене.