Por qué importan los nombres de branch
Los nombres de branch son lo primero que ven los revisores, sistemas CI y futuros arqueólogos. Una convención consistente convierte git branch -a de ruido en un catálogo estructurado.
El patrón de tres partes
git checkout -b feature/PROJ-1234-add-oauth-login
git checkout -b bugfix/PROJ-1455-fix-login-redirect
git checkout -b chore/PROJ-1502-bump-node-20
Tipos comunes: feature, bugfix, hotfix, chore, docs, refactor, experiment, release.
Incluir identificadores de tickets
git checkout -b feature/PROJ-1234-search-autocomplete
Reglas que previenen dolor
- Solo minúsculas — la sensibilidad a mayúsculas difiere entre plataformas.
- Guiones, no espacios ni guiones bajos.
- Sin barras al final ni al principio.
- Limita la longitud a unos 60 caracteres.
- Evita nombres personales como
jeremy/fix-thing.
Aplicar convenciones
#!/usr/bin/env bash
branch=$(git symbolic-ref --short HEAD)
if [[ ! "$branch" =~ ^(feature|bugfix|hotfix|chore|docs)/[A-Z]+-[0-9]+-[a-z0-9-]+$ ]]; then
echo "El nombre de branch '$branch' no coincide con la convención." >&2
exit 1
fi
Branches especiales
Reserva nombres específicos para branches de larga vida: main, develop si usas Git Flow, y release/x.y.
Limpieza
git branch -d feature/PROJ-1234-add-oauth-login
git push origin --delete feature/PROJ-1234-add-oauth-login