Perche i nomi dei branch contano
I nomi dei branch sono la prima cosa che vedono revisori, sistemi CI e futuri archeologi. Una convenzione coerente trasforma git branch -a da rumore in catalogo strutturato.
Il pattern in tre parti
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
Tipi comuni: feature, bugfix, hotfix, chore, docs, refactor, experiment, release.
Includere identificatori di ticket
git checkout -b feature/PROJ-1234-search-autocomplete
Regole che prevengono dolore
- Solo minuscole.
- Trattini, non spazi o underscore.
- Niente slash finali; niente slash iniziali.
- Limitare a circa 60 caratteri.
- Evitare nomi personali; la proprieta vive nei metadati del commit.
Far rispettare le convenzioni
#!/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 "Branch name '$branch' does not match convention." >&2
exit 1
fi
Branch speciali
Riservare nomi specifici per branch di lunga durata: main, develop, release/x.y.
Pulizia
git branch -d feature/PROJ-1234-add-oauth-login
git push origin --delete feature/PROJ-1234-add-oauth-login