Organiser ses worktrees dans Antigravity 2.0
📕 Les Git worktrees
Les worktrees sont apparus dans Git dans la version 2.5.0, sortie en Juillet 2015 (cf https://github.blog/open-source/git/git-2-5-including-multiple-worktrees-and-triangular-workflows/) . Pourtant, cette fonctionnalité a mis du temps à se faire connaître et à intégrer les commandes du quotidien des équipes de développement. Des articles expliquant ce concept sortent encore de nos jours, comme celui-ci sorti en juin 2026 sur le blog de GitHub.
Le principe des worktrees est assez simple. Git associe votre projet à un ou plusieurs répertoires (qu’il soit dans votre projet Git ou non). Cette “copie” est lien vers votre dépôt principal, ce qui permet d’avoir plusieurs branches extraites simultanément dans des répertoires distincts. Vous pouvez donc basculer entre les branches sans effectuer de commandes Git comme le `git stash`.
Avec quelques commandes, la compréhension sera je l’espère plus facile.
- Création d’un worktree pour une nouvelle fonctionnalité. Je stocke mes worktrees dans un répertoire spécifique pour éviter les confusions.
git worktree add -b feature/my-new-feature ./worktrees/feature/my-new-feature origin/main
- Lister les worktrees
git worktree list

Suite à ces modifications, la branche courante reste la branche main. Des modifications peuvent donc être apportées sans impacter ce worktree. Et c’est là un des avantages à utiliser les worktrees. Cela vous évite des bascules de branches en stockant vos modifications dans des `git stash`.
- La bascule sur un worktree est transparente : une fois dans le répertoire, vous êtes directement sur la branche associée, sans avoir besoin de commandes Git complexes.
cd ./worktrees/feature/my-new-feature/
- Vous êtes désormais libre de faire vos modifications, de les ajouter avec un
git addpuis de pousser sur votre repository avec ungit push.
- Une fois la pull /merge request (PR/MR) faite et mergée, le worktree pourra être supprimé avec la commande
git worktree remove.
🤔 Et Antigravity dans tout ça ?
Avec la croissance des développements assistés par l’intelligence artificielle agentique, il est facile de demander à plusieurs agents d’apporter des modifications dans votre projet. Sauf que, si les modifications sont conséquentes et impactent les mêmes fichiers, vous risquez de voir des conflits apparaître.
Dans Antigravity 2.0, il est possible, via une option disponible sous votre requête, de préciser que les travaux peuvent se faire dans un worktree Git.

Antigravity crée la copie de vos worktrees dans son répertoire de configuration /Users/xxx/.gemini/antigravity/worktrees. Après un déplacement via la commande cd, vous trouverez les fichiers modifiés et pourrez travailler sur la fonctionnalité demandée.
Dans Antigravity IDE, les worktrees sont visibles graphiquement avec dans la vue “Source control”.

Avec Antigravity, l’accent est mis sur la gestion et l’orchestration des agents. Avec la possibilité d’isoler les évolutions des projets dans des Git worktrees, les évolutions des projets vont pouvoir d’autant plus être accélérées et parallélisées sans devoir se battre avec les conflits Git.
🚀 Un skill ?
Si la modification apportée par Antigravity convient, il est possible de demander de commiter et pusher le code. Antigravity le fait très bien mais le worktree n’est pas supprimé. Peut-être que cela n’est pas dans vos pratiques, mais je préfère supprimer le worktree directement et manipuler Git pour revenir sur cette branche si jamais quelque chose est détectée dans la MR.
Pour faire ce tri et éviter que ce soit le “chaos” dans les worktrees, j’ai créé ce skill :
---name: finalize-featuredescription: Clean up the current git worktree after a feature branch is successfully validated, committed, and pushed.---# Finalize Feature SkillUse this skill when the user has approved your changes on a feature branch and requested to clean up the current working directory / worktree.## Instructions1. **Verify git status**: Ensure all local changes are fully committed and pushed to the remote repository. - Run `git status` to verify the working tree is clean. - Run `git log -n 1 @{u}` or check `git status` to verify there are no unpushed commits.2. **Retrieve paths**: - Current worktree path: `$(pwd)` - Main repository path: Run `git rev-parse --git-common-dir` and resolve it to its parent directory.3. **Navigate to the main repository**: Change directory to the main repository. For example: ```bash cd /Users/jean-phibaconnais/dev/git/kids-monthly-illustrators ```4. **Remove the worktree**: Delete the worktree directory using git worktree command: ```bash git worktree remove <worktree-path> ``` For example: ```bash git worktree remove /Users/jean-phibaconnais/.gemini/antigravity/worktrees/kids-monthly-illustrators/implement-dark-mode ```
Lors de la demande de pousser le code, le skill est bien utilisé et, je cite Antigravity, “Le dépôt est propre et à jour avec la branche distante” et “Le worktree temporaire a été entièrement et proprement supprimé”.

Antigravity & worktrees
L’utilisation des worktrees par Antigravity amène encore un “plus” dans l’accélération du développement de nos projets et de la Developer Expérience (DX) en réduisant notre charge mentale liée à la gestion potentielle des conflits qui pourraient arriver lors de l’utilisation d’agents en parallèle. Je n’étais initialement pas un adepte des Git worktrees mais avec l’intégration de l’IA agentique dans notre quotidien et de la manière dont on orchestre des agents pour faire évoluer nos projets, je suis prêt à parier que cette fonctionnalité de Git va connaître une réelle montée en popularité 😁.

