
Команды git branch, git log и связанные с ними параметры дают больше, чем простой список имён. Можно увидеть расхождения между ветками, проверить состояние перед слиянием, выделить нужные ветви по шаблону, а также проанализировать соседние коммиты. Такие приёмы помогают принимать решения на основе фактической структуры проекта, а не предположений.
В этом материале разобраны рабочие варианты просмотра: от локальных и удалённых веток до графического отображения истории. Каждый способ подходит для своей задачи – проверки статуса, анализа истории или сравнения изменений. Это обеспечивает точное понимание текущей картины в репозитории и уменьшает риск ошибок при последующих действиях.
Просмотр всех локальных веток через git branch
Перед удалением или переименованием ветки рекомендуется свериться с результатом git branch, чтобы исключить работу с устаревшими данными. Такой контроль помогает поддерживать чистоту локального пространства и снижает вероятность конфликтов при последующей синхронизации с удалённым репозиторием.
Отображение удалённых веток с помощью git branch -r

Если требуется обновить сведения, стоит выполнить предварительный запрос через git fetch —prune. Это удаляет устаревшие ссылки и гарантирует корректный перечень удалённых веток. После обновления git branch -r показывает только действующие записи, что снижает риск ориентироваться на несуществующую ветку.
Для быстрого поиска подходящей ветви можно использовать шаблон, например git branch -r —list «origin/feature/*». Такой подход упрощает работу с крупными репозиториями, где количество направлений постоянно растёт, и помогает держать под рукой только нужные данные.
Для поиска нужного направления можно применять фильтрацию: git branch -a —list «*/release/*». Это помогает быстро выделить ветви конкретного назначения, особенно в проектах с большим количеством параллельных линий разработки.
Показ последних коммитов по каждой ветке с флагом —verbose

Пример базового вызова:
- git branch -a —verbose – комбинированный список локальных и удалённых веток с дополнительной информацией.
Полученные данные помогают:
- проверять, не отстала ли локальная ветка от сервера;
- сравнивать состояние отдельных направлений перед слиянием;
- быстро находить ветки, где изменения давно не вносились.
Для упорядочивания информации в крупных проектах удобно применять фильтры:
- git branch —verbose —list «feature/*» – показывает только нужное направление с отметками последних коммитов;
- git fetch —all —prune перед запуском – гарантирует актуальное соответствие веток серверу.
Фильтрация веток по шаблону имени через git branch —list
Базовый пример:
git branch —list «feature/*» – отображает все ветки, начинающиеся с префикса feature.
Несколько полезных вариантов использования:
- git branch -a —list «remotes/origin/hotfix/*» – поиск только удалённых hotfix-веток;
- git branch —list «*2024» – выбор веток, оканчивающихся на определённый суффикс, например год;
- git branch —list «?-task-*» – фильтрация по шаблону с одним обязательным символом в начале имени.
Перед применением фильтра рекомендуется выполнить git fetch —prune, чтобы исключить отображение старых ссылок на ветки, удалённые на сервере. Это обеспечивает точное соответствие списка реальному состоянию репозитория.
Просмотр истории ветки в виде графа с помощью git log —graph
Команда git log —graph отображает коммиты в виде текстового графа, показывая ветвления и слияния. Это позволяет визуально оценить структуру разработки без использования сторонних инструментов. Схема веток отображается с помощью символов |, /, \, что упрощает понимание последовательности коммитов и взаимосвязей между ветками.
Часто используется комбинация флагов:
- git log —graph —all – отображение всех веток одновременно, полезно для анализа истории всего репозитория;
- git log —graph —decorate – добавляет ссылки на ветки и теги, облегчая идентификацию точек слияния.
Рекомендации по использованию:
- Используйте фильтрацию по автору или сообщению с —author и —grep, если нужно найти изменения конкретного разработчика или задачи.
- Перед анализом графа выполняйте git fetch —all, чтобы локальная история включала актуальные удалённые ветки.
Определение слитых и неслитых веток с git branch —merged

Команда git branch —merged показывает локальные ветки, полностью интегрированные в текущую активную ветку. Каждая строка соответствует ветке, где все коммиты уже присутствуют в текущей рабочей ветке, что позволяет выявить направления разработки, которые можно удалить или архивировать без потери данных.
Рекомендации по использованию:
- Перед удалением веток выполните git fetch —prune, чтобы исключить устаревшие ссылки на удалённые ветки.
- Регулярное применение этих команд помогает поддерживать локальный репозиторий в упорядоченном состоянии и снижает вероятность конфликтов при слияниях.
Сравнение веток по коммитам через git log branch1..branch2
Команда git log branch1..branch2 позволяет определить, какие коммиты присутствуют в одной ветке, но отсутствуют в другой. Это полезно для анализа различий перед слиянием или для оценки, насколько ветки расходятся по истории изменений.
Формат команды:
| Команда | Описание |
|---|---|
| git log branch1..branch2 | |
| git log branch1..branch2 —oneline | |
| git log branch1..branch2 —graph —decorate | Добавляет графическое отображение ветвлений и пометки веток/тегов. |
| git log branch1..branch2 —author=»имя» | Фильтрация коммитов по автору для точечной проверки изменений. |
Рекомендации:
- Используйте git fetch —all перед сравнением, чтобы локальные данные соответствовали удалённому репозиторию.
- Комбинируйте с —since или —after для анализа только последних изменений.
- Для обратного сравнения (что есть в branch1, но отсутствует в branch2) меняйте порядок веток: git log branch2..branch1.
Вопрос-ответ:
Как быстро увидеть, какие ветки есть только на удалённом сервере?
Для этого используется команда git branch -r. Она выводит список веток с префиксом origin/, что позволяет отличить удалённые ветки от локальных. Перед проверкой полезно выполнить git fetch —prune, чтобы удалить устаревшие ссылки на удалённые ветки, которых больше нет на сервере.
Можно ли одновременно видеть локальные и удалённые ветки?
Да, команда git branch -a выводит комбинированный список. Локальные ветки отображаются обычными именами, а удалённые — с префиксом remotes/. Если репозиторий большой, можно добавить фильтр —list «pattern» для отображения только нужных направлений разработки, например всех feature-веток.
Как определить, какие ветки уже слиты в текущую ветку, а какие нет?
Для проверки слитых веток используется git branch —merged. Команда покажет все локальные ветки, изменения которых присутствуют в текущей. Чтобы увидеть ветки с незавершёнными изменениями, применяется git branch —no-merged. Перед использованием рекомендуется выполнить git fetch —prune, чтобы вывод включал только актуальные ветки.
Как сравнить две ветки и увидеть, какие коммиты есть только в одной из них?
Команда git log branch1..branch2 покажет все коммиты, которые присутствуют в branch2, но отсутствуют в branch1. Для краткого просмотра можно добавить —oneline, для наглядного отображения структуры — —graph —decorate. Если нужно анализировать только коммиты конкретного автора, применяется —author=»имя». Для обратного сравнения меняют порядок веток: git log branch2..branch1.
