Menu
Coddy logo textTech

Git Worktree

Ultimo aggiornamento

git worktree permette a un unico repository di avere più directory di lavoro contemporaneamente, ognuna su un branch diverso. Invece di mettere da parte il tuo lavoro con stash per cambiare branch, apri l'altro branch in una cartella separata: rivedi una PR, prepara un hotfix o compila un branch mentre ne modifichi un altro, il tutto condividendo la stessa cronologia .git.

Prova questi comandi nel terminal playground: una vera shell nel tuo browser, senza installare nulla.

git worktree fa il checkout di un secondo branch in una cartella propria: un solo repository, due directory di lavoro.

Sintassi

CommandWhat it does
git worktree add ../hotfix hotfixFa il checkout di hotfix in una cartella adiacente
git worktree add -b new ../newCrea un branch e un worktree dedicato
git worktree listElenca tutti i worktree e i loro branch
git worktree remove ../hotfixRimuove un worktree
git worktree pruneRipulisce le voci di worktree obsolete

Esempio pratico

Correggi un bug su main senza toccare il tuo feature branch.

StepCommandResult
1git worktree add ../fix mainCheckout di main in ../fix
2Correggi e fai commit in ../fixHotfix completato su main
3git worktree remove ../fixPulizia fatta; il feature branch è rimasto intatto

Domande frequenti su git worktree

Cos'è un git worktree?
Un worktree è una directory di lavoro aggiuntiva collegata allo stesso repository, con il checkout di un branch o di un commit diverso. Ti permette di avere più branch aperti nello stesso momento in cartelle separate, tutti con un'unica cronologia .git condivisa: così non devi fare stash né clonare per lavorare su due branch alla volta.
Come aggiungo un worktree?
Esegui git worktree add <path> <branch>, per esempio git worktree add ../hotfix hotfix. Git fa il checkout di quel branch nella nuova cartella. Per creare un nuovo branch nello stesso momento, usa git worktree add -b <newbranch> <path>.
Quando conviene usare un worktree invece di cambiare branch?
Usalo quando cambiare branch sarebbe scomodo: hai modifiche non ancora committate, una build lunga che non vuoi interrompere, oppure devi confrontare due branch fianco a fianco. Un worktree ti dà l'altro branch in una cartella tutta sua senza toccare quella attuale.
Come rimuovo un worktree?
Esegui git worktree remove <path>. Se la cartella è stata cancellata a mano, esegui git worktree prune per ripulire i riferimenti obsoleti. Non puoi rimuovere il worktree principale (la cartella originale del repository), solo quelli aggiuntivi che hai creato.
Posso esercitarmi online?
Sì. Apri il terminal playground per eseguire git worktree in una vera shell nel tuo browser, senza installare nulla. Il corso Git interattivo e gratuito di Coddy copre anche i flussi di lavoro con i branch passo dopo passo.
Illustrazione dei linguaggi di programmazione di Coddy

Impara Git con Coddy

INIZIA