ver tipos tag ramas qué existen etiquetas crear git github feature-branch

tag - tipos de etiquetas en git



¿Qué hacer con las ramas experimentales de git no fusionadas? (4)

Creo que esto dependerá de las circunstancias exactas. Soluciones posibles:

  • Agregue un comentario al informe de error, indicando que la rama mencionada resultó ser inútil y se eliminó. Si sientes que la rama tuvo algún valor, describe brevemente lo que hiciste. De esa manera, las personas obtienen la información necesaria aunque la sucursal se haya ido.

  • Mantenga la rama, pero de alguna manera cambie su nombre para marcarla como "abandonada". Agregue un comentario al informe de error para indicar esto (y cambie el enlace a la rama). Por ejemplo, podría tener alguna convención como prefijo "OLD-" para bifurcar nombres.

  • Etiquete la rama, luego bórrela (y nuevamente mencione esto en la entrada de la base de datos de errores). De esa manera, se puede eliminar la rama, pero las confirmaciones aún son accesibles a través de la etiqueta. Tenga en cuenta que git ofrece espacios de nombres simples para etiquetas (y ramas); puede incluir una ''/'' en el nombre. Puede acordar una convención, como usar etiquetas en "oldbranch /". ( Adaptado de la respuesta de Abizern. )

  • Una vez que la rama se ha fusionado, solo puede mencionar / vincular la confirmación de fusión en el informe de error. Entonces, la rama es probablemente menos interesante, porque está contenida en la confirmación de fusión.

En general, es posible que desee adoptar una convención de nomenclatura especial para las sucursales de corrección de errores.

En mi (personal) git repo, por cada error que encuentro, primero abro un error en la base de datos de errores. Si luego trabajo en él, creo una rama cuyo nombre termina con el ID de error (por ejemplo, "opencrash-342", "handle_empty_file-663"). De esa manera, la relación entre el DB DB y las ramas es obvia.

Además, si la lista de ramas se hace demasiado larga, siempre puede filtrar por la ID adjunta (por ejemplo, hacer una lista de errores cerrados y algunas secuencias de comandos pequeñas para filtrar estos de la salida de "git log", etc.).

¿Cuáles son las mejores prácticas actuales con las ramas de git que se han creado para probar una solución a un error y no se han fusionado porque el proceso de revisión muestra que están equivocados o que hay mejores soluciones al problema?

Un ejemplo. El proyecto fizzbuzz tiene un informe de error que informa de un bloqueo en campos vacíos.

  • Creo una nueva rama que handle-empty-fields y hago dos confirmaciones para esa rama, "resolviendo" el problema.
  • Luego presento esa rama al gerente de proyecto de fizzbuzz, vinculándola en el informe de error.
  • Alguien encuentra un error en mi revisión, escribe otro parche y ese parche es aceptado.

Ahora, el código en el campo de handle-empty-fields mi código es inútil: no es correcto y ya no se puede aplicar al código, pero se ha mencionado en ese informe de error.

¿Qué tengo que hacer? Mantener la rama? Terminaré rápidamente con docenas de sucursales abandonadas y git no tiene forma de marcar una sucursal como abandonada o cerrada. ¿Quitar la rama? Pero luego las personas que miran ese informe de errores lo encontrarán y obtendrán 404.

A menudo se sugiere a las personas que no modifiquen sus repositorios porque eso causará problemas a otros desarrolladores, especialmente a los desarrolladores posteriores. ¿Cuáles son las sugerencias para las ramas de características o corrección de errores?

Actualización : parece que github nunca borra las confirmaciones contenidas en las solicitudes de extracción. Por lo tanto, si presiona sus cambios y los convierte en una solicitud de extracción, más tarde puede eliminar la rama sin perder ninguno de sus cambios. Bueno, mientras github todavía está trabajando;).


Este es solo mi punto de vista, pero supongo que puede sentirse libre de eliminar cualquier rama que no tenga un código útil. En el peor de los casos, si alguien, algún día verá el informe de errores y encontrará que el enlace a la corrección de errores rechazada está roto ... bueno, no creo que parezca un gran problema para nadie.


La forma en que lo hago es darle una etiqueta. Usa una etiqueta completa y dale un nombre descriptivo. Luego puede eliminar la rama, para que no se muestre en sus listas de sucursales, pero debido a que está etiquetada, la rama todavía se puede recrear revisando la rama. Todas las confirmaciones en la etiqueta seguirán estando disponibles, y no perderás ninguna confirmación en un git gc Algo como esto, tal vez:

git tag -a partialBugfixXXX -m"Tagging a branch that went into fixing bug XXX"


git update-ref refs/Attic/handle-empty-fields refs/heads/handle-empty-fields

Como alternativa a conservar las ramas muertas en las etiquetas, puede usar un espacio de nombres refs separado. La ventaja es que la lista de etiquetas permanece despejada. Un inconveniente es pasar de la porcelana al nivel de plomería de git.