Tech / Dev

Generador de nombre de rama git

Generá nombres de ramas consistentes en kebab-case con prefijo, ticket y descripción corta.

Instantáneo🔒En tu navegadorSin registro
En vivo

Por qué importa

Una rama mal nombrada cuesta minutos en cada PR review, dificulta auditar el repo y complica la automatización (regex en CI/CD, bots de gestión). Una buena convención hace que con leer el nombre se sepa qué tipo de cambio es, a qué ticket apunta y qué área toca.

El patrón estándar

<tipo>/<ticket>-<descripcion-corta>. Ejemplo: feature/PROJ-123-add-user-login. La barra / separa el prefijo; algunos hosts (GitHub, GitLab) la renderizan como subcarpeta visual. El kebab-case dentro del slug evita problemas con shells y URLs.

Prefijos comunes

  • feature/: nueva funcionalidad.
  • fix/: corrección de bug no urgente.
  • hotfix/: corrección que va directo a producción.
  • release/: rama de preparación de release.
  • chore/: tareas de mantenimiento, dependencias.
  • docs/: solo documentación.
  • experiment/ o spike/: pruebas que pueden no llegar a main.

GitFlow vs trunk-based

En GitFlow hay ramas long-lived (develop, main, release/*). En trunk-based, hay main y ramas short-lived que se mergean en horas o días. La convención de nombre es la misma; trunk-based simplemente empuja a que las ramas vivan menos tiempo.

Caracteres prohibidos

Git no permite espacios, dos puntos seguidos (::), interrogación, asteriscos, corchetes o tildes en nombres de rama. Mantenete con [a-z0-9-_/.]. Slashes adicionales se aceptan pero confunden al humano. Evitá nombres de más de 50 caracteres.

Mayúsculas en el ticket

Los IDs de ticket suelen ir en mayúsculas (PROJ-123). El resto del slug en minúsculas. Esto da un nombre visualmente distinguible: feature/PROJ-123-add-login. Si tu sistema no diferencia mayúsculas (Windows con default settings), todo en minúsculas también funciona.

Branch policies

En GitHub o GitLab podés enforzar la convención con branch protection y acciones que validen el nombre antes de aceptar pushes. Una regex como ^(feature|fix|hotfix|chore)\/[A-Z]{2,}-\d+-[a-z0-9-]+$ bloquea pushes que no sigan el patrón.

Borrar ramas mergeadas

Configurá auto-delete tras merge en GitHub Settings. git fetch --prune elimina referencias a ramas remotas borradas. Sin esto, el repo termina con cientos de ramas zombi y los autocompletes fallan.

Preguntas frecuentes

¿Qué prefijos?

feature/, fix/, hotfix/, release/, chore/.

¿Snake o kebab?

Kebab-case: feature/add-user-login.

¿Incluir ticket?

Sí: feature/PROJ-123-add-login. Trazabilidad gratis.

¿Te sirvió este generador?