Как перечислить ветки в Git

После ревизии ветка — один из важнейших концептов в контроле версий. Git поощряет использование веток: они лёгкие и быстрые. Как вы будете работать с ветками, зависит от проекта — в чужих репозиториях за стратегию обычно отвечает мейнтейнер.
У вас может быть только стандартная ветка main и одна develop, или вы можете создавать отдельную ветку для каждой фичи и исправления. В любом случае умение быстро перечислять доступные ветки — полезный навык.
Что такое ветка?
Системы контроля версий, такие как Git, используют слово «ветка» по аналогии с деревом. Ветки отходят от других веток и ветвятся от «ствола». Ветка — это отдельная линия разработки: вы можете работать в изоляции, не мешая остальным частям проекта.
Короткое определение: ветка — указатель на коммит, представляющий отдельную историю изменений.
Как перечислить ветки в терминале
Терминал — быстрый и гибкий способ работы с Git. Он даёт полный набор возможностей и часто оказывается самым надёжным инструментом для подробного изучения репозитория.
Список веток с помощью git
Основная утилита — команда git и её подкоманда branch. По умолчанию она выводит список локальных веток:
git branchПример вывода:
* maint
master
nextОбратите внимание: вывод сортируется по алфавиту, текущая ветка помечена звёздочкой, и по умолчанию выводятся только локальные ветки.
Показать только удалённые ветки:
git branch -rПоказать все ветки — локальные и удалённые:
git branch -aДобавить подробную информацию о последних коммитах и отслеживании веток:
git branch -vvaЭто даёт информацию о том, какие локальные ветки отслеживают какие удалённые, а также статус последних коммитов.
Если веток много, можно искать по шаблону:
git branch --list 'm*'Это полезно в проектах, где у каждого бага или задачи своя ветка.
Просмотр веток и переключение с помощью gh
gh — официальная CLI для GitHub. Если ваш удалённый репозиторий на github.com, gh расширяет возможности Git с командами для Issues и Pull Requests. Плагин или расширение gh-branch может облегчить поиск и переключение веток.
gh branchВ каталоге репозитория вы увидите список веток (кроме текущей). Можно вводить текст для фильтрации и выбирать ветку для переключения.
См. также: Как установить GitHub CLI на Linux.
Как просматривать ветки в GitHub Desktop
GitHub Desktop показывает локальные ветки в основном интерфейсе. В верхней части окна есть кнопка с надписью Current Branch; под ней отображается активная ветка. Нажмите на неё, чтобы увидеть стандартную ветку и недавно используемые ветки. В поле Filter можно найти ветки по имени.
См. также: Как клонировать репозиторий с помощью GitHub Desktop.
Как просматривать ветки на сайте GitHub
На сайте GitHub откройте вкладку проекта Code, затем кликните по ссылке с количеством веток. Ветви группируются по статусу, есть опция «All branches», в которой видны все ветки репозитория.
Как ветки помогают изучать новый проект
Перечисление веток даёт информацию о том, над какими фичами работают коллеги, какие баги активны и какие ветки служат для релизов. В сочетании с просмотром истории (git log) вы получите контекст изменений.
git log --oneline --decorate --graph --allЭта команда наглядно покажет граф ветвления и поможет понять структуру разработки.
Альтернативные подходы к ветвлению
- Trunk-based development: короткие ветки или работа прямо в main с частыми публикациями. Подходит для команд, где CI/CD покрывает автоматические проверки.
- Git Flow: строгая схема с ветками feature, develop, release и hotfix. Подходит для проектов с чётким циклом релизов.
- Feature-branch workflow: отдельная ветка на фичу, pull request для слияния. Универсален и распространён.
Когда выбирать: если нужен быстрый релиз и минимум конфликтов — trunk-based. Если проект релизно-ориентирован и нужен контроль стабильности — Git Flow.
Когда перечисление веток может вводить в заблуждение
- Шелловая (shallow) копия репозитория не содержит полного дерева коммитов, и часть удалённых веток может не отобразиться.
- Detached HEAD: если вы в состоянии detached HEAD, git branch может не показывать ожидаемых ссылок.
- Серверы или зеркала могут использовать разные имена веток — сверяйте с удалённым origin.
Важно: всегда проверяйте, локальная ли ветка, и с каким удалённым она связана (git remote show origin, git branch -vv).
Методология именования веток — мини-руководство
Рекомендуемая структура имён (настраиваемая под команду):
- feature/NNN-short-description — новые фичи
- fix/NNN-short-description — исправления багов
- docs/short-description — документация
- release/x.y.z — сборки для релизов
- hotfix/x.y.z — срочные исправления
Где NNN — номер задачи в трекере. Примеры:
- feature/142-login-oauth
- fix/233-nullpointer-on-start
Преимущества: читаемость, группировка по типу задачи и автоматизация (CI может выяснять по префиксу, какую процедуру запускать).
Быстрая шпаргалка по командам (cheat sheet)
- Просмотреть локальные ветки: git branch
- Просмотреть удалённые ветки: git branch -r
- Просмотреть все ветки: git branch -a
- Подробно и с отслеживанием: git branch -vva
- Поиск по шаблону: git branch –list ‘
’ - Показать граф истории: git log –oneline –decorate –graph –all
- Удалить локальную ветку: git branch -d branch-name
- Удалить удалённую ветку: git push origin –delete branch-name
- Слить ветку: git merge branch-name
- Ребейз ветки: git rebase base-branch
Рольные чек-листы
Для контрибьютора:
- Убедиться, что есть актуальный remote: git fetch –all
- Найти ветку: git branch -a | grep
- Переключиться: git checkout
или git switch - Запустить тесты локально
Для мейнтейнера:
- Просмотреть все ветки: git branch -r -a
- Проверить, какие ветки давно не обновлялись: git for-each-ref –sort=-committerdate refs/heads/
- Удалить застарелые локальные ветки
Для ревьюера:
- Найти PR-ветку на GitHub через gh pr list или через сайт
- Проверить историю: git log –oneline
..main
Дерево решений: какую стратегию ветвления выбрать
graph TD
A[Нужен быстрый релиз?] -->|Да| B[Trunk-based]
A -->|Нет| C[Есть чёткий цикл релизов?]
C -->|Да| D[Git Flow]
C -->|Нет| E[Feature-branch workflow]Критерии приёмки
- Вы видите нужную ветку в выводе git branch -a.
- Ветка имеет понятное имя, соответствующее принятой методологии.
- У ветки есть актуальный удалённый трекинг (git branch -vv показывает origin/branch).
- Ветка собирается и проходит тесты в CI.
Краткий глоссарий
- Ветка: указатель на коммит, линия разработки.
- Origin: стандартное имя удалённого репозитория.
- Detached HEAD: состояние, когда HEAD указывает на коммит, а не на ветку.
- Rebase: перенос коммитов на новую базу, меняет историю.
Итог
Перечисление веток — базовый, но мощный инструмент для ориентации в репозитории. Команды git branch и git log дают быстрый обзор, а инструменты GitHub (gh, Desktop, сайт) упрощают навигацию. Выберите стратегию ветвления, придерживайтесь соглашений по именованию и используйте чек-листы для ролей, чтобы поддерживать порядок в ветвях.
Important: перед удалением веток убедитесь, что они не нужны и что у вас нет незапушенных изменений.
Заметки: если репозиторий большой, фильтры и поиск по шаблону экономят время.
Похожие материалы
Включить необязательные обновления Windows 10
Как стать профи в киберспорте
Отключить Google Assistant на Android и колонках
Портативный Echo Dot: питание от аккумулятора
Переустановка предустановленных приложений в Windows 10