đŸ‡«đŸ‡· Organiser Ses Worktrees Dans Antigravity 2.0

Image de Kimi Lee représentant des routes

Image de Kimi Lee

Note: an english version is available here.

📕 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.

  1. 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
  1. Lister les worktrees
git worktree list
Worktrees examples

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 worktree. Cela vous Ă©vite des bascules de branches en stockant vos modifications dans des git stash.

  1. 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.
cd worktrees/feature/my-new-feature/
  1. Vous ĂȘtes dĂ©sormais libre de faire vos modifications, de les ajouter avec un git add puis de pousser sur votre repository avec un git push.

  2. 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.

Worktrees dans Antigravity

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”.

Worktrees dans Antigravity

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-feature
description: Clean up the current git worktree after a feature branch is successfully validated, committed, and pushed.
---

# Finalize Feature Skill
Use this skill when the user has approved your changes on a feature branch and requested to clean up the current working directory / worktree.


## Instructions
1. **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:
  `cd /Users/xxx/dev/git/your-project`

4. **Remove the worktree**:
  Delete the worktree directory using git worktree command:
  `git worktree remove <worktree-path>`
  For example:
  `git worktree remove /Users/xxx/.gemini/antigravity/worktrees/your-project/feature-branch`

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Ă©â€.

Utilisation d'un skills

💡 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 Experience (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Ă© 😁.