# Git worktrees pour agents IA en parallèle

URL: https://agentvera.dev/fr/blog/git-worktree-parallel-agents/ · Publié: 2026-09-28

Utilisez les git worktrees pour des agents IA en parallèle : un arbre de travail par agent, pas de conflits et chaque tour réversible. Commandes et méthode.

**En bref:**

- Un git worktree ouvre une autre branche du même dépôt dans son propre dossier, avec l’historique partagé ; donnez à chaque agent exposé aux conflits son propre worktree.
- AgentVera enregistre le dossier de travail dans une ref git cachée au début de chaque tour et garde les 60 derniers par agent : un tour s’annule sans toucher à la branche, à l’index ni au stash.
- Chaque worktree a besoin de ses propres dépendances et de fichiers .env copiés, et les serveurs de dev en parallèle demandent des ports différents.

Le développement parallèle avec git worktree est la façon la plus propre de mener plusieurs chantiers dans un même dépôt sans les mélanger. Avec des agents IA, c’est encore plus important : si deux agents travaillent dans le même dossier, l’un écrase les changements de l’autre, les tests tournent sur du code à moitié écrit et personne ne sait quel changement appartient à qui.

Cet article explique ce que sont les git worktrees, comment les utiliser avec des agents et comment garder chaque tour d’agent réversible.

## Qu’est-ce qu’un git worktree ?

Un git worktree ouvre une autre branche du même dépôt dans un dossier séparé, en même temps. Chaque dossier a ses propres fichiers de travail, mais les données `.git` sont partagées. Un commit fait dans un worktree est visible tout de suite depuis les autres.

Comparé à un clone :

| | Worktree | Clone séparé |
| --- | --- | --- |
| Espace disque | Faible (historique partagé) | Tout le dépôt |
| Visibilité des commits | Immédiate | Demande fetch/push |
| Même branche à deux endroits | Bloqué (sûr) | Possible (risque de confusion) |
| Mise en place | Une commande | Cloner et configurer |

## Commandes de base

Créer un worktree sur une nouvelle branche :

```bash
git worktree add ../acme-web-auth -b auth-refactor
```

Ouvrir un worktree à partir d’une branche existante :

```bash
git worktree add ../acme-web-billing billing-v2
```

Lister et supprimer des worktrees :

```bash
git worktree list
git worktree remove ../acme-web-auth
git worktree prune
```

`prune` nettoie les enregistrements des worktrees dont le dossier a été supprimé à la main.

## Développement parallèle avec git worktree : un arbre par agent

La règle pour des agents en parallèle est simple : **donnez à chaque agent exposé aux conflits son propre worktree.**

Un exemple de disposition :

| Agent | Tâche | Worktree | Branche |
| --- | --- | --- | --- |
| Architect (Claude Code) | Restructuration de l’auth | `../acme-web-auth` | `auth-refactor` |
| Frontend (Gemini CLI) | Page des réglages | `../acme-web-settings` | `settings-ui` |
| Tester (Codex) | Tests de l’auth | `../acme-web-auth` | `auth-refactor` |

Tester partage le worktree d’Architect parce qu’il teste le changement d’Architect et ne travaille que dans `tests/`. L’agent frontend travaille sur tout autre chose, sur sa propre branche.

Ce que cela vous apporte :

- Les agents ne voient jamais les fichiers à moitié écrits des autres.
- Chaque chantier est fusionné par sa propre branche et sa propre pull request.
- Abandonner un chantier revient à supprimer sa branche.

## Gérer les worktrees dans AgentVera

Vous pouvez gérer les worktrees en ligne de commande, mais cela devient difficile à suivre quand les agents se multiplient. Dans AgentVera, l’onglet Worktrees du panneau de droite permet de :

1. Créer un worktree à partir d’une branche nouvelle ou existante.
2. Voir pour chaque worktree le nombre de changements, l’avance ou le retard sur la branche principale et le dernier commit.
3. Lancer un agent directement dans un worktree.
4. Verrouiller, élaguer, supprimer de force un worktree et supprimer sa branche.

Quand vous créez un nouvel agent, vous pouvez aussi choisir un worktree comme espace de travail, et le volet de l’agent affiche sa branche dans une petite étiquette. Les fichiers Markdown que les agents modifient dans les worktrees sont listés dans le panneau Specs comme plans et docs.

## Gardez chaque tour réversible

Les worktrees séparent les agents les uns des autres. Mais que faire si un agent part dans la mauvaise direction dans son propre worktree ?

La réponse classique est de committer souvent, mais committer chaque étape d’un agent encombre l’historique. Les [tours](/fr/features/checkpoints-and-replay/) d’AgentVera prennent une autre voie :

- Au début de chaque tour, un instantané du dossier de travail part dans une ref git cachée.
- Votre branche, votre index et votre stash restent intacts.
- Les 60 derniers tours sont conservés par agent.
- Depuis **Turns** dans le menu Options du volet, vous voyez les fichiers modifiés par un tour.
- **Undo this turn** annule les changements de ce tour, et vous pouvez aussi annuler l’annulation.

Vous pouvez donc laisser un agent essayer des choses librement : si le résultat ne vous plaît pas, vous êtes à un clic de l’état précédent.

## Avant de fusionner

Avant d’intégrer à la branche principale le travail terminé de branches parallèles :

- Lancez les tests dans chaque worktree.
- Relisez les diffs ; la [revue de code automatique](/fr/blog/ai-code-review/) accélère cette étape.
- Soignez les messages de commit. Le [panneau Git](/fr/features/git-and-github/) d’AgentVera peut écrire un message dans le style de votre dépôt à partir du diff indexé, avec Claude Haiku.
- Poussez la branche et ouvrez une pull request ; la carte GitHub du panneau Git affiche la pull request de la branche courante ou en ouvre une nouvelle.

## Erreurs fréquentes

- **Ouvrir la même branche dans deux worktrees.** Git ne le permet pas, et c’est une protection.
- **Laisser des enregistrements de dossiers supprimés.** Nettoyez-les avec `git worktree prune`.
- **Oublier node_modules.** Chaque worktree a besoin de ses propres dépendances installées.
- **Prendre les tours d’agent pour des commits.** Les tours servent à annuler ; committez quand même pour un historique durable.

## Une journée type : trois agents, deux branches

Rendons cela concret avec une journée de travail.

### Matin : la mise en place

Le dossier principal a `main` d’extraite. Il y a deux tâches : une restructuration de l’auth et une page de réglages. Vous ouvrez deux worktrees :

```bash
git worktree add ../acme-web-auth -b auth-refactor
git worktree add ../acme-web-settings -b settings-ui
```

Installez les dépendances dans chacun :

```bash
cd ../acme-web-auth && pnpm install
cd ../acme-web-settings && pnpm install
```

Architect et Tester démarrent dans le worktree `auth-refactor` ; l’agent frontend démarre dans `settings-ui`.

### Midi : un tour tourne mal

En modifiant la page des réglages, l’agent frontend change aussi le style d’un composant partagé. C’est hors périmètre. Dans la liste Turns, vous voyez les fichiers modifiés par le dernier tour, vous l’annulez et vous dites à l’agent de ne pas toucher au composant partagé. L’historique de la branche reste propre, car annuler n’est pas un commit : c’est un retour à l’instantané de la ref cachée.

### Soir : la fusion

Quand le travail sur l’auth est terminé, vous lancez les tests, vérifiez la revue et poussez la branche. Si la page des réglages n’est pas finie, son worktree reste ouvert et l’agent reprend dans le même dossier le lendemain. Quand vous quittez puis rouvrez l’app, AgentVera ramène les agents Claude et Codex dans la même conversation grâce à l’historique du CLI.

## Détails d’environnement à surveiller dans les worktrees

Les accrocs les plus fréquents avec des worktrees parallèles tiennent à l’environnement, pas au code :

- **Conflits de ports :** si vous lancez un serveur de dev dans deux worktrees à la fois, ne les laissez pas demander le même port. Donnez-leur des ports différents via des variables d’environnement.
- **Fichiers d’environnement :** les fichiers hors de git, comme `.env`, n’apparaissent pas tout seuls dans un nouveau worktree ; copiez-les.
- **Base de données :** si deux branches portent des migrations différentes, partager une seule base locale peut poser problème.

Le panneau Ports d’AgentVera montre les ports en écoute et quel agent a démarré chacun, pour suivre quel worktree a ouvert quel serveur.

## Copier un agent et bifurquer la conversation

Parfois, vous voulez essayer le même problème de deux façons. Quand vous copiez un agent dans AgentVera, son outil, son compte, son modèle, son effort, son rôle, son groupe et son worktree sont copiés à l’identique, et vous pouvez aussi bifurquer l’historique de conversation (`--fork-session` pour Claude, `fork` pour Codex).

Combiné aux worktrees, cela donne un bon dispositif d’expérimentation : lancez deux agents bifurqués de la même conversation dans deux worktrees, comparez les résultats et fusionnez la branche qui vous plaît. Supprimer l’autre branche efface l’expérience sans laisser de trace.

## Liste de contrôle

- [ ] Chaque agent exposé aux conflits a-t-il son propre worktree ?
- [ ] Les dépendances sont-elles installées dans chaque worktree ?
- [ ] Les rôles des agents indiquent-ils dans quels dossiers ils travaillent ?
- [ ] Les tests et une revue ont-ils été faits avant la fusion ?

## En résumé

Le développement parallèle avec git worktree sépare physiquement les agents, et les tours gardent réversibles les changements de chaque agent. Ensemble, ils forment la base pour travailler en sécurité avec plusieurs agents.

AgentVera réunit worktrees, tours et panneau Git dans une seule fenêtre. Lisez-le avec [agents de code en parallèle](/fr/blog/parallel-coding-agents/), ou [commencez avec l’offre gratuite](/fr/).

## Questions fréquentes

**Qu’est-ce qu’un git worktree ?** Une fonction de git qui ouvre en même temps plusieurs branches du même dépôt dans des dossiers séparés. Chaque dossier a ses propres fichiers de travail ; l’historique du dépôt est partagé.

**En quoi un worktree diffère-t-il d’un clone ?** Un clone est une copie complète du dépôt. Un worktree partage les mêmes données .git, prend moins de place, et les commits apparaissent tout de suite d’une branche à l’autre.

**Comment annuler l’un des tours d’un agent ?** AgentVera enregistre le dossier de travail dans une ref git cachée au début de chaque tour. Dans Options → Turns, vous voyez les fichiers modifiés par un tour et vous l’annulez.

**Annuler un tour touche-t-il ma branche ou mon stash ?** Non. Les instantanés vivent sur une ref cachée ; votre branche, votre index et votre stash restent intacts.

---

**À propos d’AgentVera.** AgentVera est une app de bureau pour macOS, Windows et Linux, développée par Solviera Teknoloji. Elle exécute 18 agents de code IA (Claude Code, Codex, Gemini CLI, Copilot, Cursor, Antigravity, opencode, Hermes, Qwen Code, Kimi Code, Kiro, Amp, Droid, Goose, Vibe, Crush, Aider, Cline) côte à côte, par projet, dans de vrais terminaux avec les installations et connexions CLI de l’utilisateur. L’offre gratuite inclut des agents illimités. Télécharger: https://agentvera.dev/fr/download/ · Tarifs: https://agentvera.dev/fr/pricing/
