Multipliez votre vitesse de développement avec l’IA grâce aux Git Worktrees

· Mathieu Santostefano · Expertise · Temps de lecture: 2 minutes
Large tree under the sunlight

Fini le jonglage fastidieux entre git stash et les réinstallations de dépendances. Découvrez comment les Git Worktrees révolutionnent votre expérience développeur en permettant à vos agents IA de travailler sur une branche isolée pendant que vous restez concentré sur votre code. Une méthode indispensable pour mener vos tâches en parallèle et multiplier votre vitesse d'exécution sans friction.

Chez SensioLabs, le créateur de Symfony, nous savons que l'expérience développeur (DX) compte plus que jamais pour transformer la façon dont les équipes construisent leurs logiciels. Chaque développeur connaît la douleur du changement de contexte. En général, cela implique d'utiliser git stash pour sauvegarder son travail, de basculer sur une nouvelle branche, et souvent de subir une réinstallation des dépendances et une réinitialisation des fixtures avant même de pouvoir commencer à examiner un problème urgent.

Et si vous n'aviez plus jamais à mettre votre travail de côté ni à attendre la réinstallation des dépendances ? C'est là qu'interviennent les Git Worktrees. Et lorsque vous combinez cette fonctionnalité native de Git avec des agents de code IA modernes comme Claude Code, vous débloquez un workflow totalement révolutionné !

Que sont les Git Worktrees ?

Les Git worktrees sont une fonctionnalité intégrée qui permet de récupérer simultanément plusieurs branches d'un même dépôt, chacune dans son propre répertoire de travail distinct. Au lieu de jongler avec un seul espace de travail en changeant constamment d'état, vous pouvez disposer d'un espace dédié pour chaque branche sur laquelle vous travaillez activement.

Les principaux cas d'usage des Git worktrees incluent :

  • Préserver un staging complexe : si vous avez déjà bien avancé dans la préparation de votre travail, les worktrees vous permettent de travailler sur une autre branche sans risquer qu'un stash pop échoue plus tard à cause de fichiers modifiés.

  • Éviter la perturbation de l'environnement : basculer entre des branches ayant des dépendances très différentes fait perdre un temps considérable. Les worktrees permettent à ces différents environnements de coexister sur votre disque.

  • Comparaisons côte à côte : vous pouvez facilement exécuter plusieurs branches localement en même temps pour comparer leur comportement ou relire des pull requests sans perdre le fil.

Le niveau supérieur : des sessions IA en parallèle

En utilisant les worktrees, vous pouvez lancer des sessions IA parallèles en totale isolation. Cela signifie que vous pouvez avoir Claude Code en train de développer activement une fonctionnalité dans un worktree, pendant que vous corrigez manuellement un bug dans un autre, sans qu'aucune des deux sessions n'interfère avec l'autre.

Comment ça fonctionne avec Claude Code

Lancer une session IA isolée est incroyablement simple. Il suffit d'utiliser le flag --worktree (ou -w) au démarrage de l'agent :

```bash

claude --worktree my-new-feature

```

Si vous omettez le nom, Claude en générera un aléatoirement. Vous pouvez également demander à des sous-agents spécialisés d'utiliser des worktrees, garantissant ainsi que les tâches en arrière-plan sont traitées en parallèle en toute sécurité.

Une fois la session IA terminée, le nettoyage est géré pour vous. Si l'agent n'a effectué aucune modification, le worktree et sa branche sont automatiquement supprimés. Si des modifications ou des commits ont été réalisés, vous serez invité soit à conserver le worktree pour le relire plus tard, soit à le supprimer entièrement.

Il convient de noter que cette fonctionnalité de “worktree” est également disponible sur Claude Desktop (dans l'onglet “Code”) et dans de nombreux autres agents (Codex, Antigravity, Gemini CLI (en phase expérimentale), etc.).

Résoudre le dilemme du .env

Un obstacle fréquent pour les développeurs PHP et Symfony utilisant les worktrees est que les checkouts frais n'incluent pas les fichiers non suivis, comme vos fichiers de configuration locaux .env ou .env.local.

Pour rendre cela transparent, Claude Code prend en charge un fichier .worktreeinclude à la racine de votre projet. En utilisant la syntaxe standard de .gitignore, vous pouvez indiquer à l'agent de copier automatiquement vos fichiers d'environnement locaux dans chaque nouveau worktree qu'il crée. Ainsi, l'environnement isolé de l'agent IA est immédiatement prêt à exécuter et tester votre application.

Conclusion

Améliorer l'expérience développeur est une priorité chez SensioLabs. En abandonnant git stash au profit des Git worktrees, vous supprimez les frictions de vos tâches quotidiennes. Coupler cette architecture avec des agents de code IA vous permet de paralléliser votre production et de traiter simultanément des bugs complexes et de nouvelles fonctionnalités.

Prêt à passer à la vitesse supérieure ?

SensioLabs vous aide à maîtriser des architectures avancées et les meilleures pratiques DX pour maximiser votre vélocité. Nous vous apportons le conseil et les formations nécessaires pour créer un moteur de production fluide, boosté à l'IA.

Cela pourrait aussi vous intéresser

Paper notes on a wall
Imen Ezzine

Plongée dans les coulisses de trois cérémonies collaboratives

A la suite d’un post sur LinkedIn, j’ai pensé à écrire cet article pour décrire 3 cérémonies qui m’ont marquée et que j’ai adorées pendant l’une de mes dernières missions : Event Storming, Example Mapping et Domain Storytelling.

En savoir plus
Why PHP?
Silas Joisten

Pourquoi PHP est le meilleur choix pour le backend des logiciels d'entreprise ?

Découvrez pourquoi PHP est une technologie de premier plan pour les applications d'entreprise. Il offre des performances élevées, dispose d'un vaste écosystème de développeurs, permet de réduire les coûts opérationnels et fait preuve d'une fiabilité éprouvée.

En savoir plus
Fabien Potencier
Elise Hamimi

SymfonyCon Amsterdam 2025 : Notre bilan et les moments forts

Après une première édition emblématique en 2019, SymfonyCon a fait son grand retour à Amsterdam. Dès les premières minutes, on sentait l’énergie d’un rendez-vous très attendu : plus de 1 200 participants, 39 nationalités, les retrouvailles avec la communauté, de belles découvertes… et une ambiance de folie. Cette année, l’événement avait une saveur toute particulière puisqu’il s’agissait de l’édition spéciale anniversaire des 20 ans de Symfony. SensioLabs y était : on vous raconte tout !

En savoir plus
Chart going up
Silas Joisten

Les bonnes raisons de tester votre application, expliqué à votre manager

Découvrez pourquoi les tests représentent un investissement stratégique et non un coût. Cet article explique à votre manager la valeur métier des tests, pourquoi ils sont essentiels pour le ROI, comment ils réduisent vos risques et améliorent votre agilité. Des explications claires, chiffres et cas concrets à l'appui.

En savoir plus
PHP 8.5 URI extension
Oskar Stark

La nouvelle extension URI de PHP 8.5 : Une révolution pour l'analyse des URL

PHP 8.5 introduit une nouvelle extension URI puissante qui modernise la gestion des URL. Grâce au support des standards RFC 3986 et WHATWG, la nouvelle classe Uri fournit des objets immuables, des interfaces fluides et une validation appropriée, résolvant ainsi toutes les limites de la fonction historique parse_url(). Cet articl présente des exemples pratiques avant/après et explique quand utiliser chaque standard.

En savoir plus
Open in new tab
Silas Joisten

Le piège des onglets: pourquoi forcer l'ouverture de nouveaux onglets est une mauvaise pratique en UX

Nous l'avons tous fait — ajouter target="_blank" à un lien pour « aider les utilisateurs » à rester sur notre site. Mais ce qui semble être une commodité inoffensive crée souvent de la confusion, diminue l'accessibilité et introduit des risques de sécurité cachés.

En savoir plus
3 dog heads
Mathieu Santostefano

Venez avec votre propre client HTTP

Libérez-vous des dépendances rigides de vos SDK PHP. Dans cet article, apprenez à utiliser les normes PSR-7, PSR-17 et PSR-18, ainsi que la bibliothèque php-http/discovery, pour permettre à vos utilisateurs d'utiliser le client HTTP de leur choix, qu'il s'agisse de Guzzle, de Symfony HttpClient ou d'un autre. Un incontournable pour les développeurs PHP et Symfony.

En savoir plus
Blue sign on a building with several Now What? letters
Thibaut Chieux

Comment prioriser les messages lors du développement d'applications asynchrones avec Symfony Messenger

Le traitement asynchrone offre des avantages tels que la découplage des processus et des temps de réponse plus rapides, mais la gestion des priorités des messages peut s'avérer complexe. Pour traiter des tâches allant de la réinitialisation de mot de passe à des exports complexes, il est essentiel de garantir la livraison rapide des messages critiques. Cet article examine les problèmes fréquents liés au traitement asynchrone et propose des solutions avec Symfony Messenger pour optimiser votre application sans refonte majeure.

En savoir plus
Image