2012-09-05 14 views

Respuesta

48

¿Cómo incluyo la etiqueta que he creado en la solicitud de extracción?

No puede. Una solicitud de extracción no incluye etiquetas. Una solicitud de extracción es solo un puntero a un hilo de commits (una rama) en su repositorio en el que está proponiendo que se fusione otro repositorio.

Si desea notificar al repositorio en sentido ascendente que debe crearse una etiqueta, tal vez debería agregar un comentario a la solicitud de extracción explicando esto.

+2

Solo por curiosidad, ¿cuál podría ser el motivo de tal restricción? (Si por casualidad usted es uno de los miembros del equipo de soporte de github) –

+0

Una solicitud de extracción solo contiene confirmaciones. – nulltoken

+0

Bueno, la etiqueta es para esa solicitud de extracción ¿verdad? ¿Por qué es importante si una solicitud de extracción contiene solo confirmaciones? (Estoy tratando de entender esta decisión) –

3

Esta es una publicación anterior, pero me enamoré de esto mientras buscaba algo similar, le daré una explicación más completa.

Las etiquetas y las ramas en git se llaman referencias o "refs". Puede mover una referencia en cualquier momento que desee una nueva confirmación y así crear compromisos sueltos si retrocede en el tiempo. Incluso peor, esos commits podrían perderse con el tiempo si son eliminados porque están esperando en el vacío.

Cuando envía un PR, realmente le pide a alguien que combine una lista de confirmaciones en su repositorio referenciado por su nombre de sucursal (su ref) con una lista de confirmaciones en un repositorio remoto identificado también por un ref (la rama base) Si tiene commits que no están presentes en su repositorio (no está actualizado) y algunos de sus commits realmente tocan lugares de código que no tiene de su lado, entonces se necesita una fusión para resolver conflictos . Si no está actualizado pero su código no toca lo que se ha modificado desde entonces, no habrá conflicto.

Finalmente, cuando las cosas se combinan en otro repositorio, a menudo, se aplastará para guardar el historial de confirmaciones creando un hash de confirmación completamente nuevo y una estructura de árbol nueva de confirmaciones.

Tomando lo que he explicado hasta ahora, las etiquetas son solo referencias como ramas. Si abre un PR entre referencias de dos repositorios que son referencias de sucursal, entonces no hay forma de crear una etiqueta porque no está creando ningún refs nuevo al final, solo le está pidiendo a alguien que tome sus commits en su código y se mueva las ramas de la base hacen referencia a la nueva confirmación después de fusionar todo!

El mejor y único método realmente se convierte en pedirle al responsable que emita un lanzamiento para su código etiquetando si esa es la forma en que lo hace, ¡pero eso es a su criterio!

Cuestiones relacionadas