O08 — Exercices Workflow d'équipe & Bonnes pratiques
Conventional Commits, SemVer, GitFlow, git bisect, hooks et CODEOWNERS.
Rédiger 3 messages Conventional Commits
Rédigez au moins 3 messages de commit respectant le format type(scope): description. Types valides : feat, fix, docs, style, refactor, test, chore, perf, ci, build.
Identifier le type Conventional Commits
Pour chaque action, indiquez le type Conventional Commits correct (feat, fix, docs, chore, refactor, test, ci, build, perf, style).
Créer un tag annoté SemVer
Créez un tag annoté en respectant le format SemVer (vMAJOR.MINOR.PATCH). Utilisez git tag -a avec un message descriptif.
Pousser les tags vers le remote
Après avoir créé un ou plusieurs tags localement, poussez-les vers le repository distant. Montrez les deux approches : tous les tags ou un tag spécifique.
Nommage de branches GitFlow
Listez au moins 3 noms de branches GitFlow correctement préfixées : feature/, release/, hotfix/. Montrez les commandes pour les créer.
Configurer un hook commit-msg
Rédigez le contenu d'un hook .git/hooks/commit-msg qui vérifie que le message de commit respecte le format Conventional Commits.
Déterminer la version SemVer depuis git log
En analysant un extrait de git log, déterminez quelle version SemVer publier. Expliquez la règle MAJOR / MINOR / PATCH avec des exemples.
Rédiger un fichier CODEOWNERS
Créez un fichier .github/CODEOWNERS qui assigne des propriétaires aux fichiers frontend (*.tsx), backend (src/api/) et DevOps (.github/).
Utiliser git bisect pour trouver un bug
Écrivez les commandes git bisect pour initialiser une recherche dichotomique de régression entre un commit bon et un commit mauvais.
Workflow GitFlow complet
Écrivez le workflow GitFlow complet : créer une branche feature/ depuis develop, faire des commits, merger dans develop, créer une release/, tagger et merger dans main.