Ответы:
Просто git branch
без вариантов.
Из справочной страницы:
Без аргументов существующие ветки будут перечислены, а текущая ветка будет выделена звездочкой.
просто команда
git branch
git branch -a
- все филиалы.
git branch -r
- Только удаленные ветки.
git branch -l
или git branch
- только местные филиалы.
-l
означает --local
, в то время как это на самом деле --list
. Я бы предложил удалить его, чтобы избежать этой путаницы - технически все команды в этом ответе могли бы использоваться, -l
и они все равно возвращали бы те же результаты.
Если ведущая звездочка является проблемой, я передаю git branch
следующее
git branch | awk -F ' +' '! /\(no branch\)/ {print $2}'
Это также устраняет строку «(без ответвления)», которая появляется, когда вы отсоединили головку.
git branch | awk -F ' +' '$2 !~ /detached/ {print $2}'
для git версии 1.9.1.
cut -c 3-
это более простой вариант
Один из самых простых способов сделать это
git for-each-ref --format='%(refname:short)' refs/heads/
Это прекрасно работает и для скриптов.
Вот как вывести список локальных ветвей, которые не имеют удаленной ветки в источнике с тем же именем:
git branch | sed 's|* | |' | sort > local
git branch -r | sed 's|origin/||' | sort > remote
comm -23 local remote
comm -23 <(git branch | sed 's|* | |' | sort) <(git branch -r | sed 's|origin/||' | sort )
Другой способ получить список, только локальная ветка:
git branch -a | grep -v 'remotes'
Там есть отличный ответ на пост о том, как удалить только локальные филиалы. В нем парень создает команду для перечисления локальных ветвей:
git branch -vv | cut -c 3- | awk '$3 !~/\[/ { print $1 }'
Ответ содержит отличное объяснение того, как была получена эта команда, поэтому я бы посоветовал вам пойти и прочитать этот пост
В дополнение к ответу @ gertvdijk - я добавляю несколько скриншотов на случай, если это поможет кому-то быстро.
На моей оболочке git bash
мерзавец ветка
Команда без параметров показывает все мои локальные ветки. Текущая ветвь, которая в настоящий момент извлечена, показана другим цветом (зеленым) вместе с префиксом звездочки (*), который действительно интуитивно понятен.
При попытке увидеть все ветви, включая удаленные ветви, используя
git branch -a
Затем команда удаленных веток, которые еще не извлечены, отображается красным цветом: