Labels y Milestones en GitHub
Los Labels y Milestones de GitHub permiten organizar mejor las tareas de un proyecto. Aprende qué son, para qué sirven y cómo utilizarlos para clasificar Issues y Pull Requests, establecer objetivos y realizar un seguimiento más claro del trabajo.

Índice
1. Labels en GitHub
1.1. ¿Qué son los Labels en GitHub?
Un Label es una etiqueta que se puede asociar a una Issue o bien a un Pull Request.
GitHub proporciona algunas etiquetas predeterminadas, aunque también podemos crear etiquetas personalizadas según las necesidades del proyecto.
Cada Label puede tener:
- Un nombre.
- Un color.
- Una descripción.
Por ejemplo:
bug
Error o comportamiento incorrectoLenguaje del código: JavaScript (javascript)
o:
feature
Nueva funcionalidad
La descripción ayuda a los colaboradores a entender cuándo deben utilizar cada etiqueta.
1.2. ¿Para qué sirven los Labels en GitHub?
Los Labels permiten identificar rápidamente qué tipo de trabajo representa cada Issue o Pull Request.
Por ejemplo, en un proyecto web podríamos crear etiquetas como:
bug→ para errores.feature→ para nuevas funcionalidades.documentation→ para documentación.frontend→ para tareas relacionadas con la interfaz.backend→ para tareas del servidor.priority: high→ para tareas importantes.help wanted→ para solicitar ayuda.
De esta manera, cuando un repositorio tiene muchas Issues, resulta más sencillo localizar aquellas que pertenecen a una determinada categoría.
1.3. Ejemplo de uso de Labels
Imaginemos que tenemos estas Issues:
| Issue | Label |
|---|---|
| Corregir error del formulario | bug |
| Crear modo oscuro | feature |
| Actualizar README | documentation |
| Mejorar menú de navegación | frontend |
Los Labels no modifican el contenido de una Issue. Simplemente añaden información que permite clasificarla y encontrarla más fácilmente.
1.4. ¿Cómo crear un Label en GitHub?
Para crear un Label podemos hacerlo desde la sección de Issues del repositorio.
Paso 1: Entrar al repositorio
Accedemos al repositorio de GitHub donde queremos crear la etiqueta.
Paso 2: Abrir Issues
Seleccionamos Issues en el menú del repositorio.
Después buscamos la sección de Labels.
Paso 3: Crear una nueva etiqueta
Seleccionamos la opción para crear un nuevo Label.
GitHub permite indicar:
- Nombre.
- Descripción.
- Color.
Por ejemplo:
Nombre: bug
Descripción: Problemas o errores encontradosLenguaje del código: HTTP (http)
Finalmente guardamos la etiqueta.
1.5. ¿Cómo agregar un Label a una Issue?
Una vez creada una etiqueta, podemos utilizarla en nuestras Issues.
Paso a paso:
- Abrimos el repositorio.
- Entramos en Issues.
- Abrimos una Issue.
- Buscamos la sección Labels.
- Seleccionamos la etiqueta que queremos utilizar.
Una Issue puede tener varios Labels al mismo tiempo.
Por ejemplo:
Issue: El formulario no funciona en móviles
Labels:
bug
frontend
priority: highLenguaje del código: HTTP (http)
Esto proporciona más información sobre el problema sin tener que modificar el título de la Issue.
1.6. ¿Cómo quitar un Label de una Issue?
Si una etiqueta ya no corresponde a una Issue, podemos eliminarla desde la sección Labels de esa Issue.
Por ejemplo, si solucionamos un problema y la Issue deja de necesitar la clasificación priority: high, simplemente podemos quitar esa etiqueta.
Eliminar un Label de una Issue no elimina el Label del repositorio.
1.7. ¿Cómo editar o eliminar un Label?
Los Labels existentes también pueden modificarse.
Podemos cambiar:
- El nombre.
- La descripción.
- El color.
También podemos eliminar una etiqueta si ya no es necesaria.
Es recomendable evitar crear demasiados Labels que tengan significados prácticamente iguales, porque esto puede hacer que la organización del proyecto sea más confusa.
2. Milestones en GitHub
2.1. ¿Qué son los Milestones en GitHub?
Un Milestone (hito) es una herramienta de GitHub que permite agrupar Issues y Pull Requests relacionados con un objetivo determinado.
Mientras que un Label sirve principalmente para clasificar, un Milestone sirve para agrupar trabajo relacionado con una meta.
Por ejemplo, imaginemos que estamos desarrollando una aplicación.
Podemos crear:
Milestone: Versión 1.0Lenguaje del código: CSS (css)
y asociar a ese Milestone todas las Issues necesarias para completar esa versión.
Por ejemplo:
✓ Crear página de inicio
✓ Crear sistema de usuarios
✓ Agregar formulario de contacto
○ Corregir errores de navegación
○ Crear documentación
De esta forma podemos saber qué tareas forman parte de la versión 1.0.
2.2. ¿Para qué sirven los Milestones?
Los Milestones son especialmente útiles para organizar objetivos, versiones o etapas del desarrollo.
Algunos ejemplos son:
Versión 1.0Versión 2.0Página de inicioLanzamientoActualización de septiembreNuevo sistema de usuarios
También permiten establecer una fecha límite, lo que ayuda a realizar un seguimiento del progreso.
2.3. ¿Cómo crear un Milestone en GitHub?
Para crear un Milestone debemos acceder al repositorio y entrar en la sección de Issues.
Paso 1: Abrir Issues
Entramos en:
Repositorio → Issues
Paso 2: Acceder a Milestones
Dentro de Issues buscamos la sección Milestones.
Paso 3: Crear el Milestone
Seleccionamos la opción para crear uno nuevo.
Podemos indicar:
- Nombre.
- Descripción.
- Fecha límite.
Por ejemplo:
Título: Versión 1.0
Descripción:
Primera versión pública del proyecto.
Fecha límite:
30 de septiembreLenguaje del código: HTTP (http)
Después guardamos el Milestone.
2.4. ¿Cómo asignar una Issue a un Milestone?
Una vez creado el Milestone, podemos asociarlo a una Issue.
Paso a paso:
- Abrimos una Issue.
- Buscamos la sección Milestone.
- Seleccionamos el Milestone correspondiente.
Por ejemplo:
Issue:
Crear formulario de contacto
Milestone:
Versión 1.0Lenguaje del código: CSS (css)
A partir de ese momento, esa Issue forma parte del trabajo necesario para completar el Milestone.
2.5. ¿Se pueden utilizar Labels y Milestones juntos?
Sí. De hecho, utilizarlos conjuntamente permite organizar mucho mejor un proyecto.
Por ejemplo:
Issue:
Corregir error del formulario de registro
Label:
bug
Milestone:
Versión 1.0Lenguaje del código: CSS (css)
En este caso:
- Label
bugindica qué tipo de tarea es. - Milestone
Versión 1.0indica para qué objetivo se está trabajando.
Esto permite organizar el proyecto desde dos perspectivas diferentes.
3. Diferencia entre Labels y Milestones
Aunque ambos sirven para organizar el trabajo, tienen funciones diferentes.
| Característica | Labels | Milestones |
|---|---|---|
| Clasificar Issues | Sí | No es su función principal |
| Agrupar trabajo | Sí, por categorías | Sí, por objetivos |
| Indicar tipo de tarea | Sí | No |
| Asociar una fecha límite | No | Sí |
| Utilizar varios en una Issue | Sí | Una Issue puede asociarse a un Milestone |
| Ejemplo | bug | Versión 1.0 |
Una forma sencilla de recordarlo es:
- Label = ¿Qué tipo de tarea es?
- Milestone = ¿Para qué objetivo o etapa es?
3.1. ¿Cómo organizar un proyecto utilizando Labels y Milestones?
Una buena estrategia consiste en utilizar los Labels para describir las tareas y los Milestones para agruparlas según objetivos.
Por ejemplo, para una página web podríamos crear:
Labels
bug
feature
frontend
backend
documentation
priority: high
Milestones
Versión 1.0
Versión 1.1
Versión 2.0Lenguaje del código: CSS (css)
Entonces podríamos tener una Issue como:
Issue:
Agregar modo oscuro
Label:
feature
frontend
Milestone:
Versión 1.1Lenguaje del código: CSS (css)
De esta forma sabemos qué es la tarea y cuándo o dentro de qué objetivo queremos completarla.
3.2. ¿Cómo filtrar Issues utilizando Labels?
Cuando un repositorio tiene muchas Issues, los Labels también sirven para localizar rápidamente determinados tipos de tareas.
Por ejemplo, podemos buscar las Issues que tengan:
bug
para mostrar únicamente los problemas detectados.
También podemos utilizar etiquetas como:
frontend
para localizar las tareas relacionadas con la interfaz.
Esto resulta especialmente útil en proyectos con muchos colaboradores y numerosas Issues abiertas.
3.3. ¿Cómo utilizar Milestones para controlar el progreso?
Los Milestones permiten visualizar el progreso de un conjunto de Issues.
Por ejemplo, podemos crear:
Versión 1.0Lenguaje del código: CSS (css)
y asignarle 10 Issues.
Si ya hemos completado 7, podremos utilizar el Milestone para conocer el avance del trabajo asociado a esa versión.
Esto resulta útil para organizar:
- Versiones de software.
- Lanzamientos.
- Actualizaciones.
- Etapas de desarrollo.
- Objetivos concretos.
4. Labels y Milestones en equipos de trabajo
En un proyecto colaborativo, estas herramientas pueden ayudar a establecer una estructura común.
Por ejemplo, un equipo podría acordar utilizar:
bug
feature
documentation
enhancement
help wanted
como Labels generales.
Y utilizar Milestones para representar las diferentes versiones:
v1.0
v1.1
v2.0Lenguaje del código: CSS (css)
Así, cualquier colaborador puede entender rápidamente cómo está organizado el trabajo.
5. Buenas prácticas para utilizar Labels
Al crear Labels para un proyecto es recomendable mantener una estructura sencilla y coherente.
5.1. Utilizar nombres claros
Es preferible:
bug
en lugar de nombres demasiado largos o ambiguos.
5.2. Evitar etiquetas duplicadas
No es recomendable crear:
bug
bugs
error
errores
si todas representan prácticamente lo mismo.
5.3. Definir una función para cada Label
Cada etiqueta debería tener un propósito concreto.
5.4. Mantener una cantidad razonable
Un repositorio con demasiadas etiquetas puede resultar difícil de utilizar.
6. Buenas prácticas para utilizar Milestones
Los Milestones funcionan mejor cuando representan objetivos concretos.
Por ejemplo:
Versión 1.0Lenguaje del código: CSS (css)
es más útil que crear un Milestone genérico como:
Tareas
También es recomendable utilizar fechas límite cuando realmente exista una fecha objetivo.
Los Milestones deben ayudar a responder una pregunta concreta:
¿Qué trabajo necesitamos completar para alcanzar este objetivo?
7. ¿Labels o Milestones: cuál debo utilizar?
No es necesario elegir entre uno y otro.
Lo habitual es utilizar ambos de forma complementaria.
Por ejemplo:
Issue:
Crear página de registro
Labels:
feature
frontend
Milestone:
Versión 1.0Lenguaje del código: CSS (css)
Los Labels describen la Issue, mientras que el Milestone indica el objetivo al que pertenece.
Por eso, en proyectos medianos o grandes, combinar ambas herramientas puede proporcionar una organización mucho más clara.
8. Ejemplo práctico de Labels y Milestones
Supongamos que estamos desarrollando una tienda online.
Creamos los siguientes Labels:
bug
feature
frontend
backend
documentation
Después creamos un Milestone:
Versión 1.0Lenguaje del código: CSS (css)
Y tenemos estas Issues:
Issue 1:
Crear página de productos
Label: feature
Milestone: Versión 1.0
Issue 2:
Corregir error del carrito
Label: bug
Milestone: Versión 1.0
Issue 3:
Crear documentación de instalación
Label: documentation
Milestone: Versión 1.0Lenguaje del código: CSS (css)
Ahora podemos saber rápidamente:
- Qué tipo de trabajo representa cada Issue.
- Qué Issues pertenecen a la versión 1.0.
- Qué tareas están pendientes.
- Qué áreas del proyecto necesitan trabajo.
9. Conclusión
Los Labels y Milestones en GitHub son herramientas especialmente útiles para organizar Issues y Pull Requests.
Los Labels permiten clasificar el trabajo según características como bug, feature, frontend o documentation, mientras que los Milestones permiten agrupar ese trabajo dentro de objetivos, versiones o etapas del proyecto.
Utilizados conjuntamente, facilitan el seguimiento de las tareas y ayudan a que todos los colaboradores puedan comprender rápidamente qué se está haciendo y para qué objetivo se está trabajando.
