Passer au contenu
GitTree

Agents Git et IA

Arbres de travail Git pour agents IA : exécutez Claude Code et Codex en parallèle

Un arbre de travail git donne à chaque agent de codage IA son propre dossier et sa propre branche dans un seul référentiel. Voici comment en créer un par agent, les suivre dans une interface graphique Git et fusionner les résultats sans collisions.

Écrit par KodmoraMis à jour 15 minutes de lecture
Terminal intégré ancré sous le graphique de validation dans GitTree

Un git worktree est un dossier de travail supplémentaire lié au même référentiel : il possède sa propre branche extraite, sa propre zone de préparation et ses propres fichiers, tandis que tous les arbres de travail partagent les mêmes commits, branches et télécommandes. Cela fait de git worktree le moyen le plus simple d'exécuter des agents de codage d'IA tels que Claude Code ou Codex en parallèle. Donnez à chaque agent son propre arbre de travail et ils pourront éditer, construire, tester et valider en même temps sans toucher aux fichiers de chacun et sans deuxième clone.

Deux agents dans un dossier partagent une arborescence de travail : l'un exécute des tests sur les fichiers, l'autre est à mi-chemin de la réécriture, et un git checkout de l'un ou l'autre déplace le sol sous l'autre. Les clones séparés évitent cela mais ont besoin de leurs propres récupérations ; les arbres de travail vous donnent des dossiers séparés avec la comptabilité d'un seul référentiel.

Qu'est-ce qu'un arbre de travail git et ce que partagent les arbres de travail

Chaque référentiel commence par un arbre de travail, le arbre de travail principal : le dossier créé par git clone ou git init. git worktree add crée des arbres de travail liés, des dossiers supplémentaires attachés aux mêmes données .git. Selon la documentation officielle de git worktree, un arbre de travail lié partage tout avec le référentiel, à l'exception des fichiers par arbre de travail tels que HEAD et l'index. En pratique :

Ce que chaque arbre de travail garde pour lui et ce que tous les arbres de travail partagent
Une partie du référentielCopie personnelle ou partagée ?Ce que cela signifie pour les agents parallèles
Fichiers de travailPropre copieLes modifications d’un agent n’écrasent jamais les fichiers d’un autre
HEAD et la branche extraitePropre copieChaque agent reste sur sa propre agence
Index (zone de transit)Propre copieUn git add dans un arbre de travail ne met en scène rien dans un autre
Commits et objetsPartagéUn commit effectué dans n'importe quel arbre de travail est visible dans chacun d'eux
Branches et balisesPartagéVous pouvez fusionner la branche d'un agent de votre dossier principal sans récupération
Configuration du référentielPartagé par défautLes télécommandes et les alias s'appliquent dans chaque arbre de travail

Une règle est importante pour les agents : par défaut, git worktree add refuse d'extraire une branche déjà extraite dans un autre arbre de travail. Chaque agent a donc besoin de sa propre succursale, ce qui est exactement ce que vous souhaitez au moment de la révision.

Comment créer un arbre de travail avec git worktree add

Exécutez les commandes depuis votre référentiel et placez de nouveaux arbres de travail à côté plutôt qu'à l'intérieur, afin que les éditeurs, les outils de recherche et les agents n'indexent pas une extraction depuis l'intérieur d'une autre. Cela crée deux arbres de travail, chacun sur une nouvelle branche qui commence à main :

cd ~/code/myapp
git worktree add -b agent/auth-refactor ../myapp-auth main
git worktree add -b agent/flaky-tests ../myapp-tests main
git worktree list

-b crée la branche, le chemin est le nouveau dossier et le dernier argument est le commit à partir duquel commencer. git worktree list imprime chaque arbre de travail avec son dossier, sa validation et sa branche. Pour utiliser une branche qui existe déjà, omettez -b : git worktree add ../myapp-review feature/login.

Un agent IA par arbre de travail : le workflow parallèle

Le modèle est simple : une tâche, une branche, un arbre de travail, une session d'agent. Vous restez dans l’arbre de travail principal en tant que réviseur et les agents ne partagent jamais de dossier. Ce qui compte le plus, c'est la façon dont vous répartissez le travail. Les bonnes tâches parallèles sont :

  • Dans différentes parties du code, comme un refactor dans auth/ et de nouveaux tests dans billing/, leurs branches touchent donc rarement les mêmes lignes.
  • Clairement fait ou pas fait : un test échoué qui devrait réussir, un point de terminaison à ajouter, une dépendance à mettre à niveau.
  • Assez petit pour être examiné en une seule fois. Une énorme différence d'agent est un problème de révision, quel que soit le dossier d'où il provient.

Comment exécuter des agents de codage IA en parallèle avec les

  1. Validez ou cachez votre travail actuel

    Les nouvelles arborescences de travail démarrent à partir d'une validation et les modifications non validées dans votre dossier principal restent en arrière-plan, de sorte que chaque agent doit démarrer à partir du même état validé.

  2. Créer un arbre de travail par tâche

    Exécutez git worktree add -b agent/<task> ../<repo>-<task> main une fois par tâche ou créez les arbres de travail à partir d'une interface graphique Git.

  3. Préparez chaque dossier

    Installez les dépendances, copiez les fichiers d'environnement dont le projet a besoin et exécutez la build une fois, afin que chaque agent démarre à partir d'une extraction qui fonctionne.

  4. Démarrer un agent dans chaque dossier

    Ouvrez un terminal par arbre de travail et démarrez votre agent là-bas, par exemple claude dans l'un et codex dans un autre, chacun avec une invite étroite nommant la zone qu'il possède.

  5. Réviser, fusionner et nettoyer

    Lorsqu'un agent a terminé, lisez sa différence, fusionnez sa branche de votre arbre de travail principal, puis supprimez l'arbre de travail et supprimez la branche.

cd ../myapp-auth && claude
cd ../myapp-tests && codex

Exécutez chaque ligne dans son propre terminal ; les tests et les builds de chaque agent sont ensuite exécutés sur ses propres fichiers.

Utiliser les arbres de travail Git avec Claude Code

Pour donner manuellement à Claude Code son propre arbre de travail, créez l'arbre de travail avec Git simple et démarrez claude à l'intérieur ; l'agent lit et modifie ensuite uniquement ce dossier et valide sur cette branche :

git worktree add ../myapp-auth -b agent/auth
cd ../myapp-auth
claude

Le drapeau --worktree de Claude Code

Claude Code peut créer l'arbre de travail pour vous. Selon la documentation sur l'arbre de travail de Claude Code, claude --worktree feature-auth (ou -w) crée un arbre de travail sous .claude/worktrees/feature-auth/ sur une nouvelle branche nommée worktree-feature-auth, dérivée de la branche par défaut du référentiel, sauf indication contraire dans le paramètre worktree.baseRef. Un fichier .worktreeinclude copie les fichiers ignorés tels que .env dans chaque nouvel arbre de travail. À la sortie, Claude Code supprime un arbre de travail propre et sa branche d'une session sans nom et demande avant d'en supprimer un avec des modifications ou de nouveaux commits.

claude --worktree feature-auth

Utilisation des arbres de travail Git avec Codex CLI

La CLI Codex fonctionne dans le répertoire à partir duquel vous la démarrez, donc un arbre de travail par session Codex sépare les modifications, tests et validations de chaque session :

git worktree add ../myapp-tests -b agent/tests
cd ../myapp-tests
codex

L'application Codex et la CLI Codex

La [documentation sur l'arbre de travail de l'application Codex] d'OpenAI (https://learn.chatgpt.com/docs/environments/git-worktrees) décrit les arbres de travail qui permettent au Codex d'exécuter plusieurs discussions dans un seul projet. Par défaut, ils vont dans $CODEX_HOME/worktrees, en fonction de la branche que vous choisissez, et démarrent dans un état HEAD détaché plutôt que sur une branche. Dans l'en-tête de la discussion, Hand off déplace une discussion entre un arbre de travail et votre caisse locale, et Créer une branche ici transforme le travail d'un arbre de travail en une branche que vous pouvez consulter et fusionner. Avec la Codex CLI, vous exécutez codex à partir d'un répertoire de projet, alors démarrez-le dans l'arbre de travail que vous avez créé.

Quoi qu'il en soit, ce sont des arbres de travail Git ordinaires, visibles par git worktree list et par toute interface graphique Git qui les lit.

Une interface graphique git worktree : suivi du dossier et de la branche de chaque agent

Avec trois ou quatre agents en cours d'exécution, le plus difficile est de suivre : quelle branche se trouve dans quel dossier et quel agent est en train de modifier les fichiers. GitTree, le client Git de macOS, Windows et Linux qui publie ce blog (dépôts privés inclus), lit les arbres de travail que Git connaît déjà, y compris ceux créés par Claude Code ou Codex, et donne à chacun une place dans l'interface.

Dans GitTree, la section WORKTREES du panneau de gauche répertorie chaque arbre de travail et le menu de branche propose Créer un arbre de travail pour cette branche.
Dans GitTree, la section WORKTREES du panneau de gauche répertorie chaque arbre de travail et le menu de branche propose Créer un arbre de travail pour cette branche.
  • Une section WORKTREES dans le panneau de gauche. Chaque arbre de travail, le principal en premier, nommé par sa branche (ou son dossier lorsqu'il est détaché), avec une coche sur celui ouvert dans cet onglet. Les arbres de travail verrouillés, détachés et manquants sont étiquetés.
  • Arbres de travail frères sur les pointes de branche. Le graphique de validation marque chaque arbre de travail sur sa pointe de branche avec le nombre de modifications qu'il contient, un moyen rapide de voir quels agents sont encore en train de modifier. Cliquer sur le marqueur ouvre l’onglet de cet arbre de travail.
  • Créez un arbre de travail à partir de là où vous êtes. Créer un arbre de travail… dans la palette de commandes ou Créer un arbre de travail à partir de ce commit… sur un commit vous permet de choisir une nouvelle branche ou une extraction détachée, puis le dossier ; Créer un arbre de travail pour cette branche… sur une branche extrait cette branche dans le nouveau dossier.
  • Un onglet par arbre de travail, avec son propre terminal. Ouvrir Worktree dans un nouvel onglet l'ouvre comme n'importe quel référentiel, et le terminal intégré sous le graphique démarre dans le dossier de cet arbre de travail avec votre propre shell, vous pouvez donc démarrer claude ou codex directement ici.
  • Verrouillez, déplacez, supprimez, élaguez et réparez. Verrouillez avec une raison facultative, déplacez un dossier ou supprimez-le. Git refuse de supprimer un arbre de travail avec des modifications non validées et la branche reste. Prune Stale Worktrees prévisualise ce que Git supprimerait et Repair Worktree Links, exécuté à partir d'un arbre de travail que vous avez déplacé manuellement, le reconnecte.

Chaque action exécute le Git que vous avez déjà installé, donc le résultat correspond à la ligne de commande :

commandes git worktree et leurs équivalents GitTree
TâcheLigne de commandeDans GitTree
Créergit worktree add -b <branch> <path> <start>Créer Worktree… (palette de commandes, menu de validation ou de branche)
Listegit worktree listSection WORKTREES et marqueurs sur les pointes des branches
Ouvertcd <path>Ouvrir Worktree dans un nouvel onglet
Verrouillergit worktree lock --reason "<text>" <path>Verrouiller Worktree… (raison facultative)
Déplacergit worktree move <path> <new-path>Déplacer l'arbre de travail…
Supprimergit worktree remove <path>Supprimer l'arbre de travail…
Taillergit worktree pruneÉlaguer les arbres de travail obsolètes… (avec un aperçu)
Réparationgit worktree repairRéparer les liens de l'arbre de travail

La GitTree page des fonctionnalités répertorie tout ce que fait l'application, et Git GUI vs command line couvre les cas où chaque approche est plus rapide.

Fusionner le travail de plusieurs agents IA

Étant donné que les branches sont partagées, votre arbre de travail principal voit la branche de chaque agent au moment où l'agent s'engage. Traitez chacun comme une pull request d'un coéquipier : fiable, mais examiné.

  1. Lisez d'abord la différence. Comparez la branche de l'agent avec main morceau par morceau et recherchez les modifications sans rapport, les tests supprimés et les nouvelles dépendances.
  2. Vérifiez les chevauchements. GitTree prédit les conflits avant une fusion, avertit à côté du nom d'une branche en cas de conflit avec main et vous indique lorsque d'autres branches non fusionnées touchent les mêmes fichiers, le tout calculé sur votre ordinateur. Avec plusieurs branches d'agent, cela montre quel ordre de fusion fait le moins mal.
  3. Rangez l'historique. Le point de contrôle Squash s'engage avec un rebase interactif dans une interface graphique, à l'intérieur de l'arbre de travail de cet agent : Git n'extrairea pas une branche extraite dans un autre dossier.
  4. Fusionnez ou ouvrez une demande d'extraction. Fusionnez à partir de votre arbre de travail principal ou faites glisser la branche de l'agent sur main dans GitTree pour fusionner, rebaser ou démarrer une demande d'extraction.
  5. Gardez un chemin en arrière. Si deux agents ont modifié les mêmes lignes, consultez comment résoudre les conflits de fusion Git ; si une fusion tourne mal, vous pouvez annuler une fusion, une réinitialisation ou un rebase.
  6. Nettoyer. Supprimez l'arbre de travail, puis supprimez la branche fusionnée.
git switch main
git merge --no-ff agent/auth-refactor
git worktree remove ../myapp-auth
git branch -d agent/auth-refactor

Pièges de l'arbre de travail Git avec les agents de codage IA

  • Forcer une branche dans deux arbres de travail. --force contourne le refus de Git au prix de deux dossiers se disputant une branche. Ouvrez plutôt l'arbre de travail existant ; GitTree vous indique où cette branche est extraite.
  • En supposant que les arbres de travail isolent tout. Ils isolent les fichiers, pas les services. Les agents qui démarrent des serveurs de développement sur le même port ou migrent la même base de données locale entrent toujours en collision, alors donnez à chaque arbre de travail son propre port et sa propre base de données de test.
  • Suppression ou déplacement de dossiers à la main. Git conserve une trace de chaque arbre de travail. L'enregistrement d'un dossier supprimé persiste jusqu'à ce que git worktree prune (ou, bien plus tard, le nettoyage automatique de Git) le supprime ; git worktree repair, exécutez-le dans un dossier que vous avez déplacé, reconnectez-le. Verrouillez les arbres de travail sur les disques qui ne sont pas toujours montés afin que l'élagage les laisse tranquilles.
  • Forcer la suppression du travail non révisé. git worktree remove refuse un arbre de travail avec des modifications à moins que vous n'ajoutiez --force, alors lisez d'abord la différence. Les exécutions non interactives -p de Claude Code laissent leurs arbres de travail verrouillés jusqu'à ce qu'une session ultérieure les libère ; déverrouillez-en un avant de le supprimer vous-même.
  • Fermeture de l'onglet qui exécute l'agent. Dans GitTree, le terminal intégré appartient à son onglet de référentiel, et la fermeture de l'onglet arrête ses sessions de terminal, y compris un agent s'exécutant dans une.
  • Exécuter plus d'agents que vous ne pouvez en examiner. L'examen est le véritable goulot d'étranglement. Commencez par deux ou trois tâches parallèles et ajoutez-en d’autres une fois que leur fusion semble routinière.

Essayez les arbres de travail lors de votre prochaine tâche

Les commandes d'arbre de travail de Git sont tout ce dont vous avez besoin pour démarrer, et une interface graphique facilite la surveillance de plusieurs arbres de travail. GitTree propose un forfait gratuit sur macOS, Windows et Linux qui couvre toutes les fonctionnalités de Git, dépôts privés inclus, et Nour, l'assistant IA, est livré avec GitTree Pro. Chaque fonctionnalité Git est incluse dans le forfait gratuit une fois que vous êtes connecté, et elle nécessite Git 2.39 ou plus ; sur Ubuntu 22.04, mettez à niveau Git sur Ubuntu d'abord. Suivez le Linux guide d'installation ou visitez la GitTree page de téléchargement.

Questions fréquemment posées

Quelle est la différence entre git worktree et git clone ?

Un clone copie l'intégralité du référentiel dans un nouveau dossier avec sa propre base de données d'objets, de sorte que ses branches et ses validations n'atteignent un autre clone que via un push et une récupération. Un arbre de travail est un dossier supplémentaire du même référentiel : les commits et les branches sont partagés en même temps, tandis que chaque dossier conserve ses propres fichiers, branche et zone de préparation.

Deux arbres de travail git peuvent-ils avoir la même branche extraite ?

Pas par défaut. Git refuse de créer un arbre de travail pour une branche déjà extraite dans un autre arbre de travail, et il est préférable de laisser l'option force qui remplace celle-ci. Donnez à chaque arbre de travail, et donc à chaque agent IA, sa propre branche, créée à partir du même commit s'ils ont besoin du même point de départ.

Claude Code prend-il en charge les arbres de travail git ?

Oui. La documentation de Claude Code décrit un indicateur --worktree, ou -w en abrégé, qui crée un arbre de travail sous .claude/worktrees sur une nouvelle branche et démarre la session à l'intérieur. Vous pouvez également créer un worktree avec git worktree add, le modifier dans son dossier et y démarrer Claude Code, qui fonctionne de la même manière pour le Codex.

Comment supprimer un arbre de travail git en toute sécurité ?

Exécutez git worktree delete avec le chemin du dossier. Git refuse tant que l'arbre de travail contient des modifications non validées ou des fichiers non suivis, alors examinez-les ou validez-les d'abord et utilisez l'option forcer uniquement lorsque vous en êtes sûr. La branche est conservée, supprimez-la donc séparément une fois fusionnée. Si vous avez supprimé le dossier manuellement, git worktree prune efface l'enregistrement restant.

Les worktrees git partagent-ils des node_modules, .env ou des fichiers de build ?

Non. Un nouvel arbre de travail contient uniquement les fichiers suivis par Git. Les dépendances installées, les fichiers d'environnement et la sortie de build restent dans le dossier dans lequel ils ont été créés, chaque arbre de travail a donc besoin de sa propre installation et de sa propre copie de la configuration locale. Pour les arbres de travail qu'il crée, Claude Code peut copier les fichiers ignorés choisis via un fichier .worktreeinclude.

Quel est le meilleur gestionnaire de worktree git avec une interface graphique ?

Recherchez un client qui répertorie chaque arbre de travail, affiche la branche de chacun et si elle contient des modifications, et peut ajouter, verrouiller, déplacer, supprimer, élaguer et réparer des arbres de travail sans le terminal. GitTree, disponible sur macOS, Windows et Linux, fait tout cela et marque les arbres de travail frères sur leurs pointes de branche dans le graphique de validation.

Est-ce que GitTree démarre les agents IA dans les arbres de travail pour moi ?

Non. GitTree gère les arbres de travail et donne à chacun son propre onglet, avec un terminal intégré qui démarre dans le dossier de cet arbre de travail, où vous démarrez vous-même Claude Code, Codex ou un autre agent. Séparément, GitTree peut rédiger des messages de validation et des descriptions de demandes d'extraction via votre propre CLI Claude Code, Codex ou Antigravity lorsque vous cliquez sur Générer.

Sources

Les allégations concernant d'autres produits ont été vérifiées par rapport à leurs pages officielles sur 22 octobre 2026. Les prix et les fonctionnalités changent ; les pages des fournisseurs sont la source de vérité.