¿Qué sucede con la label git después de fusionar la request de extracción?

¿Qué sucede si tienes un tree de commit de git como este?

ABCD D <-- v0.9 (tag) 

Y acepta una request de extracción que tiene cambios que preceden a la confirmación que se etiquetó previamente; ¿la label ahora includeá las confirmaciones de la request de extracción combinada?

 AFBGCD D <-- ? v0.9 (tag) 

En git, la label apunta al object de compromiso específico. Si en realidad has hecho un git pull --rebase entonces tus charts se git pull --rebase así:

 ABCD AF-B'-G-C'-D' 

Los objects de confirmación reales dependen del estado del tree y la paternidad, por lo que incluso si la diferencia de C a D es exactamente la misma que la diferencia entre C 'y D', son diferentes objects de confirmación.

Entonces, la respuesta a su pregunta es que la label v0.9 siempre apuntará a la versión de D cuando la label se creó por primera vez. Entonces, si ha reescrito su historial, tendrá una label que apunta a una confirmación que ya no está en el tree de su twig actual.

Sin embargo, si solo quiere decir que alguien había cometido un error y empujado a una twig FBG y C antes de presionar BC y D, entonces lo que suceda dependerá de si realiza una fusión o una rebase cuando hace la extracción requerida para actualizar su twig local con historial existente.

Pnetworkingeterminado sería fusionarse. Esto haría que tu gráfica se vea así:

 AFBGC \ \ BCD---M 

Donde el jefe de sucursal apuntaría a M y B y C en cada twig del tree serían diferentes (incluso si ambos escogieron los mismos commits desde otro lugar).

ACTUALIZAR

tl; dr:

  • Quien cometió primero (time) no importa: el order depende de la (s) gráfica (s) y de sus opciones para combinar y / o alterar charts (combinar, rebase, seleccionar con precisión). usted decide cómo se verá la estructura final.
  • los objects de confirmación (las tags de las cosas apuntan a) nunca cambian, por lo que su confirmación labelda no se actualizará
  • dado que los commits no cambian, cuando se reescribe el historial, en realidad tiene nuevos objects de confirmación, incluso si los diffs son idénticos. puede parecer que las cosas están cambiando, pero en realidad se reemplazan en el gráfico con algo que se ve muy similar.