Intenté buscar un comando especial de git para esto pero no pude encontrar uno. ¿Puede alguien sugerir algo más corto o más rápido que:Mostrar solo la rama actual en Git
git branch | awk '/\*/ { print $2; }'
Intenté buscar un comando especial de git para esto pero no pude encontrar uno. ¿Puede alguien sugerir algo más corto o más rápido que:Mostrar solo la rama actual en Git
git branch | awk '/\*/ { print $2; }'
$ git rev-parse --abbrev-ref HEAD
master
Esto debería funcionar con Git 1.6.3 o posterior.
No funciona para mí tampoco, con git-1.6.2.5.git rev-parse --abbrev-ref HEAD => --abbrev-ref 311172491a9a667f9321bdf1c4fe5e22cc6e2c08 (es decir, rev-parse no acepta --abbrev-ref (tampoco en la página de manual)) – JasonWoof
JasonWoof, funciona para mí en 1.6 .4.2, necesita cambiar de registro para ver cuándo sucedió exactamente ;-) –
Por lo que puedo decir de los registros de Git, esta característica se fusionó en 2009-04-20 y se lanzó con la versión 1.6.3. – earl
estoy usando
/etc/bash_completion.d/git
Vino con Git y proporciona un indicador con el nombre de la sucursal y la finalización argumento.
Usted puede estar interesado en la producción de
git symbolic-ref HEAD
En particular, en función de sus necesidades y el 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 archivo .git/HEAD
que también puede ser de su interés.
Puede acortar' git rev-parse --symbolic-full-name' a 'git symbolic-ref'. – earl
No necesita usar 'basename' o' cut'; use 'BR = $ {BR # refs/heads /}' (donde BR es el nombre de la variable que ha guardado la salida de 'git symbolic-ref HEAD'). –
Jakub, por supuesto que no, siempre que tenga la salida en variable. –
Este es un hilo viejo con el que me he topado. De lo que puedo decir, no hay ninguna manera de forma nativa mostrar sólo la rama actual en el GIT, por lo que he estado usando:
#> git branch | grep '*'
Si bien eso funciona con coreutils de GNU,' grep '*' 'es nominalmente un error de sintaxis. Probablemente quieras 'git branch | sed -n 's/^ \ * // p'' de todos modos. O en realidad, lo que el OP publicó en primer lugar, que equivale a lo mismo. – tripleee
@tripleee ¿me puede aclarar por qué 'grep '*'' es nominalmente un error de sintaxis? –
Al igual que el plural * s * en inglés no tiene ningún significado útil en sí mismo, no puede decir "cero o más veces" de forma aislada sin algo antes. (Pensé que recordaba que la documentación 'grep' de GNU menciona específicamente que un' '' solitario al principio de la cadena se interpreta literalmente, es decir, como '[*]' en general, pero no puedo encontrarlo documentado ahora) – tripleee
(no puedo añadir comentarios a las respuestas, por lo que)
en Git 1.8.1 se puede utilizar el git simbólico-ref comando con la opción "--short":
$ git symbolic-ref HEAD
refs/heads/develop
$ git symbolic-ref --short HEAD
develop
Gracias. Alias creado. –
Mejor que la respuesta aceptada IMO, porque funciona en repos sin commits –
Obteniendo el error 'fatal: ref HEAD no es una referencia simbólica' cuando se ejecuta esto como parte de una compilación de TravisCI – kmanzana
creo que esto debe ser rápida y se puede utilizar con la API de Python.
git branch --contains HEAD
* master
creo que esto es posible, los fastes manera de conseguir rama actual – Eimantas
posible duplicado de [Cómo llegar nombre de la rama actual en Git?] (Http://stackoverflow.com/questions/6245570/how-to- get-current-branch-name-in-git) –
@ChandrayyaGK: No, porque la otra pregunta es acerca de hacerlo desde dentro de su IDE. (Muchas de las respuestas son para el uso de línea de comandos, así que vale la pena verlas, pero no es un duplicado adecuado, y esas respuestas quizás deberían migrarse aquí, si hay alguna que agregue un valor significativo a lo que ya está aquí). – tripleee