Etiqueta múltiples twigs en git?

Tengo un repository git con dos twigs; uno para el código que se usa para fabricación / testing y otro que es el firmware de producción real (son casi idénticos). Ahora es el momento de cortar un lanzamiento para enviarlo al fabricante, por lo que naturalmente quiero colocar algunas tags apropiadas en ambas twigs.

Pero, parece que git no me deja poner el mismo nombre de label en ambas twigs. Si trato de labelr las twigs individualmente, me dice que la label ya existe cuando voy a labelr la twig de segundos. Traté de pasar dos commits a git tag, pero tampoco me gustó eso. No necesariamente tengo que labelr siempre las dos twigs en bloque, pero no quiero agregar caracteres aleatorios a las tags solo para evitar colisiones de nombres.

¿Hay alguna manera de hacer lo que quiero, o estoy queriendo hacer algo incorrecto?


Una twig es el código que la fabricación pone en el dispositivo para probar que fue ensamblado correctamente. La otra twig es el código que se envía en el producto. En realidad no son dos twigs por lanzamiento. Este es el primer lanzamiento de este producto, y por lo tanto, el primer lanzamiento para ambas twigs, así que traté de labelr ambas twigs con 'release-1.0'.

Estás queriendo hacer algo incorrecto. El objective de una label es identificar inequívocamente una revisión en particular. Si yo fuera tú, labelría solo la twig de producción y dejaría la twig de testing sin labelr.

Sin embargo, es bastante extraño que tengas dos twigs independientes por lanzamiento. ¿Por qué es esto? La respuesta puede ayudar a describir una mejor solución.


Como las tags realmente no deben apuntar a la misma revisión, pero (potencialmente) a revisiones diferentes, las tags deberían ser algo como esto:

  • appname-1.0-manufacturing
  • appname-1.0-production

De esta forma, sabrá a qué release pertenece cada label, así como dónde terminó el código.

Una label simplemente le da un nombre a una única confirmación, por lo que no, probablemente no haya una forma de hacer lo que quiera.

Tengo curiosidad por saber cuál sería el resultado deseado. Quiero decir, uno de los propósitos de una label es ser un nombre que puedes consultar más tarde. Entonces, si git checkout una label que se refiere a dos twigs, ¿qué ocurre?

Llegar tarde a la fiesta, pero otra alternativa sería fusionar las dos twigs, por lo que en cualquier punto una confirmación contenía el estado del código de testing y el código de producción, asumiendo que pueden coexistir sin conflictos (en cuyo caso se networkinguce a cuán difícil sería esa combinación si valdría la pena intentar esto). Esto también ayudaría a evitar situaciones en las que accidentalmente etiquete la twig equivocada, como también puede ocurrir al tratar de mantener la twig de testing y la twig de producción sincronizadas cuando las label.