Grovr - une application de bureau pour gérer facilement les Git Worktrees
(github.com/j1king)Si vous menez plusieurs tâches en parallèle avec l’IA, vous utilisez sans doute souvent Git Worktree.
Mais quand le nombre de worktrees augmente, leur gestion devient compliquée. Il devient difficile de voir d’un coup d’œil où se trouve chaque tâche, à quel ticket elle correspond, ou si une PR a déjà été ouverte, et créer une branche ou changer de worktree finit par être fastidieux à chaque fois.
J’ai donc créé Grovr, une application de bureau pour gérer les worktrees de manière plus intelligente. (Pour l’instant, macOS uniquement)
Fonctionnalités principales :
- Voir la liste des worktrees en un coup d’œil
- Lancer un IDE en un clic (VS Code, Cursor, JetBrains IDE, etc.)
- Vérifier l’état des tickets/PR grâce à l’intégration Jira et GitHub
- Extraire automatiquement le nom de branche depuis le presse-papiers et créer un worktree
Si vous utilisez beaucoup les worktrees, n’hésitez pas à l’essayer et à me faire part de vos retours !
Je laisse aussi une explication pour celles et ceux qui ne connaissent pas Worktree.
Qu’est-ce que Git Worktree ?
C’est une fonctionnalité qui permet, dans un même dépôt Git, de checkout plusieurs branches simultanément dans des répertoires différents.
Caractéristiques (par rapport aux branches) :
- Branche classique : bascule dans un seul répertoire avec
git checkout, les fichiers en cours de modification nécessitent un stash - Worktree : création d’un répertoire distinct par branche, ce qui permet de travailler sur plusieurs branches en parallèle
- Le dossier
.gitest partagé avec le dépôt principal (liaison plutôt que duplication)
Exemple de structure de répertoires :
(Ce n’est qu’un exemple, vous pouvez l’organiser autrement)
~/projects/
├── my-repo/
│ ├── .git/
│ └── ...
└── my-repo.worktrees/
├── feature/add-oauth-login/
└── hotfix/fix-payment-error/
Avantages :
- Mener plusieurs tâches en parallèle sans changer de branche
- Changer immédiatement de contexte sans stash
- Les modifications d’un worktree n’affectent pas les autres worktrees.
- Économie d’espace disque par rapport à plusieurs clones
Utilisation :
- Créer un nouveau worktree :
git worktree add <chemin> <branche> - Afficher la liste des worktrees :
git worktree list - Supprimer un worktree :
git worktree remove <chemin>
Aucun commentaire pour le moment.