Con git describe
puede obtener el número de confirmaciones desde la última etiqueta. Si solo tenía la etiqueta y el número de confirmaciones, ¿cuál es la mejor manera de mostrar la confirmación que se describió?Cómo mostrar la confirmación de git utilizando el número de confirmaciones desde una etiqueta
Sé que podría usar git log tag..
y conectarlo a un script que hace el conteo, pero esperaba una solución más elegante similar a git show tag~n
.
Para añadir más contexto, estamos planeando usar git describe
para crear números de liberación, por ejemplo, con
$ git describe
v1.5-39-g5ede964
usaríamos foo_1.5.39. Lo que nos gustaría hacer es saber que 1.5.39 significa el compromiso número 39 después de la etiqueta v1.5, encontrar ese compromiso, es decir, encontrar g5ede964. Como se señala en un comentario, la 39ª confirmación después de la v1.5 puede no ser única. Entonces, quizás una mejor forma de preguntar esto es cuál es la mejor manera de encontrar todos los commits X de manera que si HEAD apuntaba a X git describe
devolvería v1.5-39-*****
.
Puede hacer 'git show tag ~ n' para mostrar la n-ésima confirmación antes de esa etiqueta. Tal vez estoy malinterpretando algo ... – knittl
Creo que avanzar desde la etiqueta no es posible. Cada confirmación (excepto la inicial) en git tiene al menos un padre, por lo que puede retroceder por confirmaciones. Por otro lado, este commit etiquetado (como cualquier otro commit) podría ser un padre de más de un commit y no tiene ninguna referencia a sus hijos, por lo que la única forma en que puede moverse es de hijos a padres y no viceversa . –
@ KL-7 Gracias, eso tiene sentido. Agregué más contexto a mi pregunta sobre lo que estamos tratando de lograr. Basado en su punto de que los padres no hacen referencia a los niños, supongo que no hay forma de hacerlo. En ese caso, si agrega esto como respuesta, lo aceptaré. – Joel