Encontré esta pregunta mientras buscaba una forma de obtener la revisión actual para usarla en otros comandos git. Pero cuando leí las respuestas, lo descubrí: "Oh, espera, no lo necesito, solo puedo usarlo HEAD".
Antoine Pinsard
Respuestas:
228
¿Qué quieres decir con "número de versión"? Es bastante común etiquetar un commit con un número de versión y luego usar
$ git describe --tags
para identificar el actual HEAD wrt cualquier etiqueta. Si quiere decir que desea conocer el hash del HEAD actual, probablemente quiera:
$ git rev-parse HEAD
o para el breve hash de revisión:
$ git rev-parse --short HEAD
A menudo es suficiente hacer:
$ cat .git/refs/heads/${branch-master}
pero esto no es confiable ya que la referencia puede estar empacada.
Las referencias pueden estar empaquetadas .git/packed-refs, por lo que probablemente debería evitar el acceso directo .git/refs/. Solo use git rev-parse master(o git rev-parse refs/heads/mastersi necesita ser completamente inequívoco).
Chris Johnsen el
108
Hay muchas formas en que git log -1es la más fácil y la más común, creo
¿Cómo hago que un archivo se convierta en una versión anterior?
TIMEX
1
quizás quieras git checkout HEAD ^ - nombre de archivo
manojlds
2
por cierto, esto da MUCHO MÁS que solo la revisión actual y tendrá que analizarla en consecuencia (por lo tanto, no es la mejor / más fácil / solución común, en mi opinión)
Creo que esta es la mejor respuesta, ya que no depende de la implementación. La respuesta de William "cat .git / refs / heads / master" proporcionará el mismo valor, pero no hay garantía de que funcione en el futuro si la implementación cambia.
Thagomizer
De acuerdo, esta es la mejor respuesta. Una breve mención de la --shortopción lo haría perfecto.
Bobby Jack
15
Esto le proporciona los primeros dígitos del hash y son lo suficientemente únicos como para usarlos como, por ejemplo, un número de versión.
HEAD
".Respuestas:
¿Qué quieres decir con "número de versión"? Es bastante común etiquetar un commit con un número de versión y luego usar
para identificar el actual HEAD wrt cualquier etiqueta. Si quiere decir que desea conocer el hash del HEAD actual, probablemente quiera:
o para el breve hash de revisión:
A menudo es suficiente hacer:
pero esto no es confiable ya que la referencia puede estar empacada.
fuente
.git/packed-refs
, por lo que probablemente debería evitar el acceso directo.git/refs/
. Solo usegit rev-parse master
(ogit rev-parse refs/heads/master
si necesita ser completamente inequívoco).Hay muchas formas en que
git log -1
es la más fácil y la más común, creofuente
Esto te da solo la revisión.
fuente
--short
opción lo haría perfecto.Esto le proporciona los primeros dígitos del hash y son lo suficientemente únicos como para usarlos como, por ejemplo, un número de versión.
fuente
a continuación funcionará con cualquier revisión anterior, no solo HEAD
para hash de revisión abreviado:
para hash de revisión larga:
fuente