Pourquoi les noms de branches comptent
Les noms de branches sont la première chose que voient les relecteurs, les systèmes CI et les futurs archéologues. Une convention cohérente transforme git branch -a de bruit en catalogue structuré.
Le pattern en trois parties
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
Types courants : feature, bugfix, hotfix, chore, docs, refactor, experiment, release.
Inclure des identifiants de tickets
git checkout -b feature/PROJ-1234-search-autocomplete
Règles qui évitent la douleur
- Minuscules uniquement.
- Tirets, pas d'espaces ni de tirets bas.
- Pas de slash final ni initial.
- Limitez la longueur à environ 60 caractères.
- Évitez les noms personnels.
Faire respecter les conventions
#!/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 "Le nom de branche '$branch' ne respecte pas la convention." >&2
exit 1
fi
Branches spéciales
Réservez des noms spécifiques pour les branches de longue durée : main, develop, et release/x.y.
Nettoyage
git branch -d feature/PROJ-1234-add-oauth-login
git push origin --delete feature/PROJ-1234-add-oauth-login