Я пытался найти для этого специальную команду Git, но не смог ее найти. Есть ли что-нибудь короче или быстрее, чем следующее?
git branch | awk '/\*/ { print $2; }'
git
branch
git-branch
Олли Сондерс
источник
источник
Ответы:
Это должно работать с Git 1.6.3 или новее.
источник
HEAD
, а не ожидалосьmaster
В Git 1.8.1 вы можете использовать команду git symbolic-ref с опцией «--short»:
источник
fatal: ref HEAD is not a symbolic ref
при запуске этого как часть сборкиС Git 2,22 (Q2 2019), вы будете иметь более простой подход:
git branch --show-current
.Смотрите коммит 0ecb1fc (25 октября 2018 г.) Дэниелса Умановскиса (
umanovskis
) .(Слиты Junio C Hamano -
gitster
- в фиксации 3710f60 , 07 марта 2019)источник
Вы можете быть заинтересованы в выводе
В частности, в зависимости от ваших потребностей и макета вы можете сделать
или
и затем снова есть
.git/HEAD
файл, который также может представлять интерес для вас.источник
git rev-parse --symbolic-full-name
доgit symbolic-ref
.basename
илиcut
; используйтеBR=${BR#refs/heads/}
(где BR - имя переменной, из которой вы сохранили выводgit symbolic-ref HEAD
).git symbolic-ref --short HEAD
такжеИз того, что я могу сказать, нет никакого способа показать только текущую ветку в Git, поэтому я использовал:
источник
grep '*'
это номинально синтаксическая ошибка. Вы, вероятно, хотите вgit branch | sed -n 's/^\* //p'
любом случае. Или на самом деле то, что ОП разместил в первую очередь, что равносильно тому же.grep '*'
формально это синтаксическая ошибка?'*'
это регулярное выражение и поэтому оно недопустимо. Вы, вероятно, хотите использовать'[*]'
(то есть символ*
вместо оператора «ноль или более раз»).grep '\*'
git branch | grep "*" | cut -d' ' -f2
Я думаю, это должно быть быстро и может быть использовано с API-интерфейсом Python:
источник
я использую
Он поставляется с Git и предоставляет приглашение с именем ветви и завершением аргумента.
источник
$ source /etc//bash_completion.d/git-prompt
File может называться по-разному в разных системах. (Примечание:source
ключевое слово такое же, как и просто.
(точка) в bash.)Это не короче, но это касается и отдельных веток:
источник
Для полноты,
echo $(__git_ps1)
по крайней мере в Linux, следует указать имя текущей ветви, заключенное в скобки.Это может быть полезно в некоторых сценариях, поскольку это не команда Git (хотя и зависит от Git), особенно для настройки командной строки Bash для отображения текущей ветви .
Например:
источник
Кто-то может найти это ( ) полезным. Текущая ветвь отмечена знаком *.
git show-branch
--current
источник