Гид по технологиям

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

6 min read Контроль версий Обновлено 16 Dec 2025
Как перечислить ветки в Git
Как перечислить ветки в 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 -vva

Если веток много, можно искать по шаблону:

git branch --list 'm*'

Это полезно в проектах, где у каждого бага или задачи своя ветка.

Просмотр веток и переключение с помощью gh

gh — официальная CLI для GitHub. Если ваш удалённый репозиторий на github.com, gh расширяет возможности Git с командами для Issues и Pull Requests. Плагин или расширение gh-branch может облегчить поиск и переключение веток.

gh branch

В каталоге репозитория вы увидите список веток (кроме текущей). Можно вводить текст для фильтрации и выбирать ветку для переключения.

Терминал с gh branch в действии

См. также: Как установить GitHub CLI на Linux.

Как просматривать ветки в GitHub Desktop

GitHub Desktop показывает локальные ветки в основном интерфейсе. В верхней части окна есть кнопка с надписью Current Branch; под ней отображается активная ветка. Нажмите на неё, чтобы увидеть стандартную ветку и недавно используемые ветки. В поле Filter можно найти ветки по имени.

Скриншот приложения GitHub Desktop с отображением веток

См. также: Как клонировать репозиторий с помощью GitHub Desktop.

Как просматривать ветки на сайте GitHub

На сайте GitHub откройте вкладку проекта Code, затем кликните по ссылке с количеством веток. Ветви группируются по статусу, есть опция «All branches», в которой видны все ветки репозитория.

Сайт GitHub, отображающий ветки проекта

Как ветки помогают изучать новый проект

Перечисление веток даёт информацию о том, над какими фичами работают коллеги, какие баги активны и какие ветки служат для релизов. В сочетании с просмотром истории (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: перед удалением веток убедитесь, что они не нужны и что у вас нет незапушенных изменений.

Заметки: если репозиторий большой, фильтры и поиск по шаблону экономят время.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Включить необязательные обновления Windows 10
Windows

Включить необязательные обновления Windows 10

Как стать профи в киберспорте
Киберспорт

Как стать профи в киберспорте

Отключить Google Assistant на Android и колонках
Инструкции

Отключить Google Assistant на Android и колонках

Портативный Echo Dot: питание от аккумулятора
Гаджеты

Портативный Echo Dot: питание от аккумулятора

Переустановка предустановленных приложений в Windows 10
Windows

Переустановка предустановленных приложений в Windows 10

Как превратить Nintendo DS в ретро-игровую консоль
Ретро-гейминг

Как превратить Nintendo DS в ретро-игровую консоль