¿Por qué git log --decorate
no muestra más de una etiqueta por confirmación?
EDITAR : Charles Bailey ha encontrado la respuesta (al menos en mi caso)
Esencialmente, tenía una etiqueta que apuntaba a otra etiqueta que apuntaba a la confirmación. Debido a esta capa adicional de indirección, la etiqueta no aparecía en el registro. Tendré que arreglar esto, ya sea arreglando nuestro script de etiquetado para etiquetar correctamente, o mediante algún script de shell vudú para seguir etiquetas de forma recursiva. De todos modos, dejaré esta pregunta solo como referencia en caso de que alguien la quiera. (Soy nuevo en el desbordamiento de pila, pero supongo que ese es el protocolo correcto)
... Sigue la pregunta original ...
Trasfondo: utilizamos GIT en el trabajo para el control de código fuente y tenemos la política de etiquetar siempre una confirmación cuando implementamos. (En realidad, es un script que hace etiquetas y luego extrae la etiqueta en el servidor). Dado que es una aplicación web con servidores de ensayo y de producción separados, a menudo etiquetamos una versión para su ensayo (para pruebas o lo que sea) y luego etiquetamos el mismo compromiso para producción.
Entonces, en realidad, es muy frecuente que tengamos varias etiquetas en la misma confirmación. Sería muy bueno poder ver esto en el registro de texto, pero no parece ser compatible. Actualmente estoy solucionando el problema comprobando manualmente la etiqueta que estoy buscando o activando gitk
. Si bien ambas soluciones funcionan, me parece que es realmente extraño git log --decorate
admitir solo una etiqueta por confirmación de forma predeterminada.
Busqué en Google, pero no encontré mucho. ¿Me estoy perdiendo algo obvio?
PD (de hecho, uso una cadena de formato personalizado con %d
, de acuerdo con las páginas de manual y algunas pruebas rápidas, es equivalente a --decorate
)
Respuestas:
Nota sobre la etiqueta de la etiqueta (etiquetar una etiqueta), que está en el origen de su problema, como Charles Bailey señaló correctamente en el comentario:
Asegúrese de estudiar este hilo , ya que anular una etiqueta firmada no es tan fácil:
git tag
página de manual desaconsejó seriamente lagit tag -f B
sustitución de un nombre de etiqueta "A
"no intente volver a crear una etiqueta firmada con
git tag -f
(consulte el extracto del hilo a continuación)(se trata de un caso de esquina, pero bastante instructivo sobre las etiquetas en general, y proviene de otro colaborador de SO, Jakub Narębski ):
fuente
Esta versión también imprimirá el mensaje de confirmación:
fuente
Nota: la confirmación 5e1361c de brian m. carlson (
bk2204
) (para git 1.9 / 2.0 Q1 2014) trata un caso especial en términos de decoración de troncos con etiquetas:registro: maneje adecuadamente las decoraciones con etiquetas encadenadas
Ejemplo:
fuente