Другое

Git Branch: Как показать только локальные ветки

Узнайте, как показывать только локальные ветки в Git с помощью простой команды git branch. Изучите поведение по умолчанию, параметры фильтрации и практические примеры для лучшего управления рабочим процессом Git.

Git: Как показать только локальные ветки

Я знаю, что git branch -a показывает как удалённые, так и локальные ветки, а git branch -r показывает только удалённые ветки. Существует ли конкретная команда Git или опция для отображения только локальных веток в моём репозитории?

Команда git branch по умолчанию отображает только локальные ветки в вашем репозитории, что именно то, что вы ищете. При выполнении git branch без каких-либо опций Git покажет названия всех локальных веток, при этом текущая ветка будет отмечена звездочкой (*), и это стандартный способ увидеть только ваши локальные ветки без какой-либо информации об удаленных отслеживаемых ветках.

Содержание

Поведение по умолчанию git branch

Команда git branch предназначена для отображения только локальных веток по умолчанию. Это подтверждается в официальной документации Git, где говорится: “Без аргументов перечисляются существующие ветки, а текущая ветка выделяется звездочкой”. Как объясняется в Git Tower: “При перечислении веток по умолчанию будут показаны только названия ваших локальных веток”.

Это поведение по умолчанию означает, что вам не нужны специальные флаги или опции для просмотра только локальных веток - просто выполнение git branch даст вам именно то, что нужно.

Базовые примеры использования

Рассмотрим наиболее распространенные способы использования git branch для отображения локальных веток:

Стандартное отображение локальных веток

bash
git branch

Эта команда выведет что-то вроде:

* main
  feature-auth
  bugfix-login
  experimental

Звездочка (*) указывает на вашу текущую ветку, а остальные строки показывают доступные локальные ветки.

Подробный вывод с дополнительной информацией

Если вам нужна дополнительная информация о каждой ветке, используйте опцию -v или --verbose:

bash
git branch -v

Вывод включает последний коммит для каждой ветки:

* main                a1b2c3d Добавить аутентификацию пользователя
  feature-auth        e4f5g6h Реализовать функционал входа
  bugfix-login        i7j8k9l Исправить проблему перенаправления при входе
  experimental        m0n1o2p Экспериментальные изменения

Расширенные варианты фильтрации

Хотя git branch по умолчанию отображает все локальные ветки, вы можете фильтровать и настраивать вывод:

Фильтрация веток по шаблону

Используйте шаблоны для отображения только определенных веток, соответствующих шаблону:

bash
# Показать ветки, начинающиеся с "feature"
git branch feature-*

# Показать ветки, содержащие "bug"
git branch "*bug*"

В официальной документации объясняется, что “если задан <шаблон>, он используется как шаблон shell для ограничения вывода соответствующими ветками”.

Показать ветки с хэшами коммитов

Для получения более технической информации используйте опцию -vv:

bash
git branch -vv

Это отображает информацию об отслеживании upstream и хэши коммитов для слитых веток.

Сравнение с другими командами отображения веток

Понимание того, как различные команды отображения веток связаны между собой, имеет решающее значение:

Команда Что показывает Случай использования
git branch Только локальные ветки (по умолчанию) То, что вы ищете - только локальные ветки
git branch -r Только удаленные отслеживаемые ветки Проверить удаленные ветки без локальной копии
git branch -a И локальные, и удаленные ветки Получить полный обзор всех веток

Как подтверждается в Linux man page: “Опция -r приводит к перечислению удаленных отслеживаемых веток, а опция -a показывает и те, и другие”.

Дополнительные опции Git Branch

Команда git branch предлагает несколько полезных опций для настройки вывода:

Цветной вывод

bash
git branch --color  # или git branch -c

Это добавляет цвета, чтобы текущая ветка выделялась еще более четко.

Без цвета

bash
git branch --no-color

Используйте это, если вам нужен простой текстовый вывод для скриптов или передачи другим командам.

Сортировка вывода

bash
git branch --sort=-committerdate  # Сортировка по дате последнего коммита (новые сначала)
git branch --sort=authordate     # Сортировка по дате автора

Показать удаленные ветки, у которых нет локальных аналогов

bash
git branch -r

Хотя это показывает удаленные ветки, это полезно для понимания, какие ветки существуют удаленно и которые вы, возможно, захотите проверить.

Практические примеры и случаи использования

Работа с ветками Git в ежедневной разработке

Вот несколько практических сценариев, где вы бы использовали git branch для отображения локальных веток:

Проверка доступных веток

bash
git branch

Это ваша основная команда при начале работы над новой функцией или проверке существующих локальных веток.

Поиск конкретной ветки

bash
git branch | grep "feature"

Используйте с grep для программной фильтрации веток.

Подсчет локальных веток

bash
git branch | wc -l

Быстрый способ увидеть, сколько у вас локальных веток.

Перед переключением веток

bash
git branch
git checkout feature-auth

Проверьте доступные ветки перед переключением, чтобы убедиться, что переходите в нужную.

Работа с командами Git Branch в скриптах

Для автоматизации и скриптовирования вы можете обрабатывать списки веток:

bash
# Получить названия веток без маркера текущей ветки
git branch | grep -v '*' | sed 's/^[ \t]*//'

# Получить только названия веток (без маркеров, без пробелов)
git branch --format='%(refname:short)'

Опция --format предоставляет мощные способы настройки вывода списка веток для целей скриптинга.


Заключение

Чтобы summarize то, что вам нужно знать об отображении только локальных веток в Git:

  1. Простой ответ: Используйте git branch без опций для отображения только локальных веток
  2. Индикатор текущей ветки: Ваша текущая ветка отмечена звездочкой (*)
  3. Поведение по умолчанию: Это стандартное поведение Git - специальные флаги не нужны
  4. Для дополнительной информации: Добавьте -v для деталей о коммитах или --color для визуального выделения
  5. Фильтрация: Используйте шаблоны для отображения только определенных веток, соответствующих вашим критериям

Помните, что git branch - это основная команда для управления и просмотра локальных веток, и ее поведение по умолчанию идеально отвечает на ваш вопрос об отображении только локальных веток без какой-либо информации об удаленных отслеживаемых ветках.

Источники

  1. Git - документация git-branch
  2. Git Tower - руководство по команде git-branch
  3. Linux man page - git-branch
  4. Atlassian Git Tutorial - Использование веток
  5. Nulab Git Tutorial - Команды веток
Авторы
Проверено модерацией
Модерация