💻 Développement

dev-git-workflow-helper

Guide pour les opérations Git complexes, résolution de conflits et bonnes pratiques de workflow.

⚡ Installation & lancement en 1 commande

Copiez-collez dans votre terminal : le skill s'installe dans ~/.claude/skills et Claude Code se lance directement dessus.

macOS / Linux
curl -fsSL https://raw.githubusercontent.com/khalilbenaz/claude-skills-collection/main/install.sh | sh -s -- dev-git-workflow-helper --launch
Windows (PowerShell)
iex "& { $(iwr -useb https://raw.githubusercontent.com/khalilbenaz/claude-skills-collection/main/install.ps1) } dev-git-workflow-helper -Launch"

🚀 Déjà installé ?

claude "/dev-git-workflow-helper"

Ou tapez /dev-git-workflow-helper dans une session Claude Code, ou décrivez simplement votre besoin — le skill se déclenche automatiquement via le skill-router.

🔑 Déclencheurs automatiques

Le skill s'active automatiquement quand votre demande contient :

git merge conflictcomment revertgit rebasebranching strategyj'ai cassé mon git

📦 Installation manuelle

git clone https://github.com/khalilbenaz/claude-skills-collection.git cp -r claude-skills-collection/skills/dev-git-workflow-helper ~/.claude/skills/

Payload du plugin : skills/dev-git-workflow-helper · source éditable : dev-skills/git-workflow-helper

📖 Manuel

Git Workflow Helper

1. Diagnostic initial

Avant toute action, évaluer la situation :

git status                        # état de l'index et du working tree
git log --oneline --graph -15     # historique visuel récent
git stash list                    # stashs en attente
git remote -v                     # remotes configurées

Identifier : branche courante, commits non-pushés, fichiers modifiés/stagés, conflits actifs.


2. Résolution de conflits de merge

Étapes :

  1. Lancer le merge ou rebase, observer les conflits :

```bash git merge feature/ma-branche # ou git rebase main ```

  1. Lister les fichiers en conflit :

```bash git diff --name-only --diff-filter=U ```

  1. Éditer chaque fichier : supprimer les marqueurs <<<<<<<, =======, >>>>>>>, garder le bon code.
  2. Marquer comme résolu et continuer :

```bash git add <fichier-résolu> git merge --continue # ou git rebase --continue ```

  1. En cas d'impasse, annuler proprement :

```bash git merge --abort # ou git rebase --abort ```

Outil visuel (recommandé) :

git mergetool               # ouvre vimdiff, VS Code, IntelliJ selon config

3. Annuler / corriger des commits

SituationCommandeRisque
Défaire le dernier commit (garder les modifs)git reset --soft HEAD~1Faible
Défaire le dernier commit (perdre les modifs)git reset --hard HEAD~1Destructif
Corriger le message du dernier commitgit commit --amend --no-editFaible si pas pushé
Annuler un commit déjà pushé (safe)git revert <sha>Nul — crée un commit inverse
Supprimer un commit du milieu de l'historiquegit rebase -i HEAD~NModéré

Règle d'or : ne jamais --force-push sur main/master. Sur une branche feature partagée, prévenir l'équipe.


4. Rebase interactif — recette type

git fetch origin
git rebase -i origin/main

Dans l'éditeur, remplacer pick par :

Après résolution des conflits éventuels :

git rebase --continue
git push --force-with-lease   # plus sûr que --force : échoue si la remote a bougé

5. Stratégies de branches — critères de décision

StratégieQuand l'adopterBranches clés
Trunk-basedCI/CD mature, feature flags, équipe seniormain + branches courtes (<1 jour)
GitHub FlowSaaS, déploiement continu, équipe ≤15main + feature/* + PR
Git FlowReleases versionnées, mobile/desktop, hotfixes fréquentsmain, develop, release/*, hotfix/*, feature/*

Convention de nommage recommandée :

feature/<ticket-id>-description-courte
fix/<ticket-id>-description
chore/update-dependencies
hotfix/v2.3.1-crash-login

6. Convention de commit (Conventional Commits)

<type>(<scope>): <description courte>

[corps optionnel]

[footer: BREAKING CHANGE: ... ou Closes #123]

Types courants : feat, fix, chore, docs, refactor, test, perf, ci

Exemple :

feat(auth): ajouter le login biométrique iOS

Implémente Face ID et Touch ID via LocalAuthentication.
Désactive le fallback PIN si biométrie disponible.

Closes #489

7. Sauvegarder avant une opération risquée

# Créer une branche de sauvegarde avant toute manipulation dangereuse
git branch backup/$(git rev-parse --abbrev-ref HEAD)-$(date +%Y%m%d)

# Stasher les modifs non-commitées
git stash push -m "backup avant rebase 2026-06-24"

8. Garde-fous et anti-patterns

Ne jamais faire :

Pièges fréquents :

```bash git config --global pull.rebase true ```


9. Configuration globale utile (2026)

# Affichage lisible
git config --global log.date relative
git config --global alias.lg "log --oneline --graph --decorate --all"

# Sécurité
git config --global push.default current
git config --global pull.rebase true
git config --global rerere.enabled true   # mémorise les résolutions de conflits

# Signer les commits (recommandé en équipe)
git config --global commit.gpgsign true

10. Récupérer après une catastrophe

# Retrouver un commit "perdu" après reset --hard
git reflog
git checkout <sha-perdu>     # inspecter
git branch recovery/ma-branche <sha-perdu>   # restaurer

# Retrouver un fichier supprimé
git log --all --full-history -- chemin/fichier.txt
git checkout <sha>^ -- chemin/fichier.txt

git reflog conserve l'historique local des mouvements HEAD pendant ~90 jours.