tag tab practices delete crear commits commands best git git-commit git-log

tab - el registro de git muestra solo una identificación de confirmación



git tag commits (3)

En al menos la versión 2.15.2 de git, puedes usar la opción --skip :

git log -1 --skip 2 --pretty=format:"%h"

No estoy seguro de qué versiones anteriores de git admiten --skip .

Necesito algo de ayuda. ¿Es posible mostrar solo una identificación de confirmación? Como git log -3 muestra el registro de 1 a 3, solo quiero mostrar 3. ¿Qué comando posible coincidirá con él?

Yo uso el comando

git log -3 --pretty=format:"%h"

el resultado es

ffbef87 cf0e073 1c76c5d

Solo quiero mostrar el 1c76c5d solamente.


Hay una herramienta para eso:

git log -3 --pretty=format:"%h" | tail -n 1

Puede incluir n caracteres del hash (en lugar del valor predeterminado) con el siguiente indicador:

--abbrev=n

Piezas relevantes de la Filosofía de Unix

1) Haz que cada programa haga una cosa bien. Para hacer un nuevo trabajo, construya de nuevo en lugar de complicar programas antiguos agregando nuevas "características".

2) Espere que la salida de cada programa se convierta en la entrada a otro programa aún desconocido. No desordene la salida con información extraña. Evite formatos de entrada rigurosamente en columna o binarios. No insista en la entrada interactiva.

... [es decir]

  • Escriba programas que hacen una cosa y lo hacen bien.
  • Escribir programas para trabajar juntos.

https://en.wikipedia.org/wiki/Unix_philosophy


Puede usar git show haciendo referencia al tercer padre de su confirmación actual (es decir, el segundo ancestro de HEAD ). Además, git show acepta la misma cadena de formato que git log :

git show HEAD~2 --pretty=format:"%h" --no-patch

Actualización ( 12-01-2016 )

Una forma aún mejor sería usar el comando rev-parse plomería con la opción --short para generar la ID de confirmación abreviada (7 caracteres):

git rev-parse --short HEAD~2

O también puede especificar la longitud exacta de la identificación de compromiso:

git rev-parse --short=4 HEAD~2