Menu
Coddy logo textTech

Git Worktree

Dernière mise à jour

git worktree permet à un même dépôt d'avoir plusieurs répertoires de travail à la fois, chacun sur une branche différente. Au lieu de remiser votre travail avec stash pour changer de branche, vous basculez sur l'autre branche dans un dossier séparé - relisez une PR, appliquez un hotfix ou compilez une branche pendant que vous en modifiez une autre, le tout partageant le même historique .git.

Essayez ceci dans le terminal playground - un vrai shell dans votre navigateur, rien à installer.

Syntaxe

CommandWhat it does
git worktree add ../hotfix hotfixBascule sur hotfix dans un dossier voisin
git worktree add -b new ../newCrée une branche et un worktree pour elle
git worktree listListe tous les worktrees et leurs branches
git worktree remove ../hotfixSupprime un worktree
git worktree pruneNettoie les entrées de worktree obsolètes

Exemple concret

Corrigez un bug sur main sans perturber votre branche de fonctionnalité.

StepCommandResult
1git worktree add ../fix mainmain extraite dans ../fix
2Corrigez et validez dans ../fixHotfix effectué sur main
3git worktree remove ../fixNettoyage ; la branche de fonctionnalité est restée intacte

FAQ git worktree

Qu'est-ce qu'un git worktree ?
Un worktree est un répertoire de travail supplémentaire rattaché au même dépôt, positionné sur une branche ou un commit différent. Il vous permet d'avoir plusieurs branches extraites en même temps dans des dossiers séparés, toutes partageant un seul historique .git - ainsi vous n'avez pas à remiser ou cloner pour travailler sur deux branches à la fois.
Comment ajouter un worktree ?
Exécutez git worktree add <path> <branch>, par exemple git worktree add ../hotfix hotfix. Git extrait cette branche dans le nouveau dossier. Pour créer une nouvelle branche en même temps, utilisez git worktree add -b <newbranch> <path>.
Quand utiliser un worktree plutôt que changer de branche ?
Utilisez-le quand changer de branche serait perturbant - vous avez du travail non validé, une longue compilation que vous ne voulez pas interrompre, ou vous devez comparer deux branches côte à côte. Un worktree vous donne l'autre branche dans son propre dossier sans toucher à la branche actuelle.
Comment supprimer un worktree ?
Exécutez git worktree remove <path>. Si le dossier a été supprimé manuellement, exécutez git worktree prune pour nettoyer les enregistrements obsolètes. Vous ne pouvez pas supprimer le worktree principal (le dossier d'origine du dépôt), uniquement ceux que vous avez ajoutés en plus.
Puis-je m'entraîner en ligne ?
Oui. Ouvrez le terminal playground pour exécuter git worktree dans un vrai shell dans votre navigateur - rien à installer. Le cours Git interactif et gratuit de Coddy couvre aussi les workflows de branches étape par étape.
Coddy programming languages illustration

Apprenez Git avec Coddy

COMMENCER