Catégorie 04SKILLS

Git Advanced

Git Flow, rebase interactif, hooks partagés, bisect et worktree

Installation
Skill Claude — Globalmkdir -p ~/.claude/skills/git-advanced
Git Flow (Linux)apt install git-flow
Git Flow (macOS)brew install git-flow
Hooks partagés (équipe)git config core.hooksPath .githooks && chmod +x .githooks/pre-commit
SKL
À propos

Skill Claude pour les pratiques Git avancées en contexte Drupal/agence. Couvre Git Flow pour les cycles de release, le rebase interactif pour un historique propre, les hooks partagés en équipe (pre-commit), git bisect pour localiser les régressions, et les worktrees pour travailler sur plusieurs branches simultanément.

Commandes
CommandeDescription
git flow feature start ma-featureDémarrer une feature branch
git flow release start 2.5.0Ouvrir une release branch
git flow release finish 2.5.0Merger dans main + develop + créer le tag
git rebase -i HEAD~5Rebase interactif sur les 5 derniers commits
git bisect start && git bisect bad && git bisect good v1.0Démarrer git bisect pour localiser une régression
git worktree add ../hotfix-branch hotfix/fixTravailler sur deux branches en parallèle sans stash
git log --oneline --graph --decorate --allHistorique visuel de toutes les branches
git reflogHistorique de toutes les actions Git (recovery)
Exemples
Release Git Flow Drupal avec tags de déploiementCODE
"Configure Git Flow pour ce projet Drupal et réalise une release :
1. git flow init avec main/develop, préfixes feature/, release/, hotfix/
2. Créer la release branch release/2.5.0
3. Mettre à jour la version dans composer.json
4. git flow release finish 2.5.0 (message de tag = changelog)
5. Montrer la commande pour pousser main, develop et les tags en une fois"
Bisect automatisé pour localiser une régressionCODE
"La commande drush updb ne se termine plus depuis un commit récent.
Utilise git bisect pour trouver le commit responsable :
1. git bisect start, git bisect bad (HEAD), git bisect good v2.3.0
2. Script de test : drush updb --no-interaction; echo $?
3. git bisect run avec le script
4. Quand le commit est identifié, git show pour analyser la cause
5. git bisect reset pour revenir à HEAD"
Hooks pre-commit pour qualité de code DrupalCODE
"Crée un .githooks/pre-commit pour l'équipe qui :
1. Vérifie la syntaxe PHP de tous les fichiers staged (php -l)
2. Lance PHP_CodeSniffer avec le standard Drupal sur les fichiers modifiés
3. Vérifie qu'il n'y a pas de var_dump() ou kint() dans les fichiers staged
4. Autorise le bypass avec git commit --no-verify si nécessaire
Configurer git config core.hooksPath .githooks dans le README"