Aller au contenu
Neaptidestudio
blog

Plusieurs agents sur un projet : travailler avec Git worktree

Neaptide · 20 septembre 2026 · 8 min de lecture

Séparez les tâches d'agents avec Git worktree : dossiers, branches, environnements, vérification et intégration.

Dans cet article
Deux espaces de travail sur les branches d'un même projet.

Le travail parallèle se complique lorsque deux agents modifient le même dossier. L'un corrige un formulaire, l'autre réorganise un composant, et les tests portent sur un mélange de changements inachevés. Git worktree sépare les fichiers : chaque tâche dispose de son dossier et de sa branche.

Un worktree est une copie de travail supplémentaire du même dépôt Git. L'historique est partagé, mais la branche extraite et les fichiers de travail sont distincts. On peut ainsi développer plusieurs modifications en même temps. Le manuel Git décrit ce fonctionnement et les commandes.

Quelles tâches mener en parallèle ?

Commencez par deux changements indépendants : corriger la gestion des erreurs d'un formulaire et mettre à jour un texte d'aide. Si les deux tâches touchent un schéma de données ou un composant commun, convenez d'abord de l'interface et traitez la dépendance dans l'ordre.

Tâches qui se prêtent à la séparation
Tâches qui se prêtent à la séparationOrdre à définir au préalable
Correction du formulaire et documentationModification d'API et interface qui en dépend
Tests de modules indépendantsDeux refactorisations du même composant
Recherche d'un bug et correction de texte distincteMigration des données et code du nouveau schéma

Les dossiers séparés évitent de mélanger les fichiers inachevés, mais ne règlent pas les contradictions fonctionnelles. Deux changements peuvent fusionner sans conflit Git et pourtant casser l'application ensemble.

Créer deux copies de travail

L'exemple suppose un dépôt existant contenant au moins un commit. Exécutez les commandes depuis son dossier principal. Les noms de branches et des dossiers voisins doivent être libres.

git status --short
git worktree add -b ai/form-fix ../project-form HEAD
git worktree add -b ai/docs-update ../project-docs HEAD
git worktree list

Les deux copies partent du commit HEAD actuel. Les modifications non commitées du dossier d'origine ne sont pas transférées. Si elles sont nécessaires aux deux tâches, préparez d'abord une version de départ convenue. Ne commitez pas le travail inachevé d'un collègue pour suivre cet exemple.

Dans deux terminaux distincts, ouvrez les nouveaux dossiers et lancez l'agent. Pour Claude Code :

cd ../project-form
claude

Ouvrez `../project-docs` dans le second terminal. Claude Code propose aussi son propre lancement en worktree, décrit dans le guide des sessions parallèles. La méthode manuelle rend les dossiers et les branches visibles indépendamment du client.

Donner une consigne à chaque agent

Définissez le résultat et le périmètre. Par exemple, pour le premier agent :

Corrige le message d'erreur d'envoi du formulaire dans le worktree actuel. Retrouve le formulaire et ses tests, et préserve l'envoi réussi. Ne modifie ni la structure de l'API ni la documentation. Présente le diff et les résultats des vérifications. Ne fusionne pas les branches.

Confiez au second la documentation, en précisant de laisser le code du formulaire intact. Ce sont des exemples pédagogiques : adaptez chemins, commandes et critères à votre projet.

Vérifiez l'environnement de chaque copie. Les dépendances et fichiers de configuration personnels peuvent demander une préparation distincte. Deux serveurs de développement doivent utiliser des ports différents. S'ils partagent une base de test, isolez leurs données ou évitez les scénarios concurrents qui la modifient.

Accepter le résultat

Examinez chaque diff séparément. Vérifiez d'abord le respect de la consigne, puis les tests. Enregistrez les changements validés dans des commits sur leurs branches respectives.

Fusionnez les branches l'une après l'autre dans la branche d'intégration choisie. Après la seconde fusion, vérifiez de nouveau le parcours utilisateur commun. Des tests réussis sur deux branches séparées ne prouvent pas leur bon fonctionnement conjoint.

En cas de conflit, déterminez le comportement à préserver. Accepter mécaniquement toutes les modifications d'un côté peut supprimer une partie de l'autre tâche.

Supprimer un worktree terminé

Assurez-vous que les changements utiles sont enregistrés et acceptés, et qu'aucun fichier non sauvegardé ne reste. Depuis la copie principale :

git worktree remove ../project-form
git worktree remove ../project-docs

Sans option de forçage, Git refuse de supprimer un worktree ordinaire comportant des changements non commités. N'ajoutez pas `--force` pour faire disparaître l'erreur. Les branches restent après la suppression des copies ; gérez-les séparément. Commandes worktree.

faq

L'essentiel en bref

Un worktree protège-t-il de toute action d'un autre agent ?

Non. Il organise les copies de travail, sans créer une machine virtuelle isolée. Services partagés, ressources et chemins accessibles demandent des contrôles distincts.

Combien d'agents lancer ?

Commencez par deux. Si les changements arrivent plus vite que vous ne les relisez, vous allongez la file de revue. Mesurez le délai jusqu'au résultat accepté, pas le nombre de sessions.

Où placer les règles communes ?

Conservez les consignes d'équipe dans le dépôt, par exemple dans CLAUDE.md (/fr/blog/claude-md-guide). Les nouvelles copies recevront la version présente dans leur commit de départ.