Intenté buscar un comando Git especial para esto, pero no pude encontrar uno. ¿Hay algo más corto o más rápido que lo siguiente?
git branch | awk '/\*/ { print $2; }'
Intenté buscar un comando Git especial para esto, pero no pude encontrar uno. ¿Hay algo más corto o más rápido que lo siguiente?
git branch | awk '/\*/ { print $2; }'
Respuestas:
$ git rev-parse --abbrev-ref HEAD
master
Esto debería funcionar con Git 1.6.3 o más reciente.
HEAD, no se esperamaster
En Git 1.8.1 puede usar el comando git symbolic-ref con la opción "--short":
$ git symbolic-ref HEAD
refs/heads/develop
$ git symbolic-ref --short HEAD
develop
fatal: ref HEAD is not a symbolic refal ejecutar esto como parte de una compilación de
Con Git 2.22 (Q2 2019), tendrá un enfoque más simple: git branch --show-current .
Ver commit 0ecb1fc (25 de octubre de 2018) por Daniels Umanovskis ( umanovskis) .
(Fusionada por Junio C Hamano - gitster- en commit 3710f60 , 07 mar 2019)
branch: introducir la--show-currentopción de visualizaciónCuando se llama con
--show-current,git branchimprimirá el nombre de la sucursal actual y finalizará.
Solo se imprime el nombre real, sinrefs/heads.
En el estado HEAD separado, no se emite nada.Destinado tanto para scripting como para uso interactivo / informativo.
A diferenciagit branch --list, no se necesita filtrado para obtener el nombre de la sucursal.
Te puede interesar la salida de
git symbolic-ref HEAD
En particular, dependiendo de sus necesidades y diseño, es posible que desee hacer
basename $(git symbolic-ref HEAD)
o
git symbolic-ref HEAD | cut -d/ -f3-
y luego nuevamente está el .git/HEADarchivo que también puede ser de su interés.
git rev-parse --symbolic-full-namea git symbolic-ref.
basenameo cut; use BR=${BR#refs/heads/}(donde BR es el nombre de la variable de la que guardó la salida git symbolic-ref HEAD).
git symbolic-ref --short HEADtambién
Por lo que puedo decir, no hay forma de mostrar de forma nativa solo la rama actual en Git, por lo que he estado usando:
git branch | grep '*'
grep '*'nominalmente es un error de sintaxis. Probablemente quieras de git branch | sed -n 's/^\* //p'todos modos. O, en realidad, lo que el OP publicó en primer lugar, lo que equivale a lo mismo.
grep '*'es nominalmente un error de sintaxis?
'*'es una expresión regular y, como tal, no es válida. Probablemente desee utilizar '[*]'(es decir, el carácter en *lugar del operador "cero o más veces").
grep '\*'
git branch | grep "*" | cut -d' ' -f2
Supongo que esto debería ser rápido y puede usarse con una API de Python:
git branch --contains HEAD
* master
Estoy usando
/etc/bash_completion.d/git
Llegó con Git y proporciona un mensaje con el nombre de la rama y la finalización del argumento.
$ source /etc//bash_completion.d/git-prompt File puede ser nombrado de manera diferente en diferentes sistemas. (Nota: la sourcepalabra clave es lo mismo que solo .(punto) en bash.)
Para completar, echo $(__git_ps1)al menos en Linux, debería darle el nombre de la rama actual rodeada de paréntesis.
Esto puede ser útil en algunos escenarios, ya que no es un comando Git (aunque depende de Git), especialmente para configurar el símbolo del sistema Bash para mostrar la rama actual .
Por ejemplo:
/mnt/c/git/ConsoleApp1 (test-branch)> echo $(__git_ps1)
(test-branch)
/mnt/c/git/ConsoleApp1 (test-branch)> git checkout master
Switched to branch 'master'
/mnt/c/git/ConsoleApp1 (master)> echo $(__git_ps1)
(master)
/mnt/c/git/ConsoleApp1 (master)> cd ..
/mnt/c/git> echo $(__git_ps1)
/mnt/c/git>
Alguien puede encontrar esto ( ) útil. La rama actual se muestra con una marca *.git show-branch --current
host-78-65-229-191:idp-mobileid user-1$ git show-branch --current
! [CICD-1283-pipeline-in-shared-libraries] feat(CICD-1283): Use latest version of custom release plugin.
* [master] Merge pull request #12 in CORES/idp-mobileid from feature/fix-schema-name to master
--
+ [CICD-1283-pipeline-in-shared-libraries] feat(CICD-1283): Use latest version of custom release plugin.
+ [CICD-1283-pipeline-in-shared-libraries^] feat(CICD-1283): Used the renamed AWS pipeline.
+ [CICD-1283-pipeline-in-shared-libraries~2] feat(CICD-1283): Point to feature branches of shared libraries.
-- [master] Merge pull request #12 in CORES/idp-mobileid from feature/fix-schema-name to master