Agenti Git e AI
Alberi di lavoro Git per agenti AI: esegui Claude Code e Codex in parallelo
Un worktree git fornisce a ogni agente di codifica AI la propria cartella e ramo all'interno di un repository. Ecco come crearne uno per agente, tenerne traccia in una GUI Git e unire i risultati senza collisioni.

Un git worktree è una cartella di lavoro aggiuntiva collegata allo stesso repository: ha il proprio ramo estratto, la propria area di staging e i propri file, mentre tutti gli alberi di lavoro condividono gli stessi commit, rami e remoti. Ciò rende git worktree il modo più semplice per eseguire agenti di codifica AI come Claude Code o Codex in parallelo. Assegna a ciascun agente il proprio albero di lavoro e potranno modificare, creare, testare e eseguire il commit allo stesso tempo senza toccare i file degli altri e senza un secondo clone.
Due agenti in una cartella condividono un albero di lavoro: uno esegue test sui file, l'altro è a metà della riscrittura e un git checkout di uno dei due sposta il terreno sotto l'altro. I cloni separati lo evitano ma necessitano dei propri recuperi; worktrees ti offre cartelle separate con la contabilità di un repository.
Cos'è un albero di lavoro git e cosa condividono gli alberi di lavoro
Ogni repository inizia con un albero di lavoro, il albero di lavoro principale: la cartella creata da git clone o git init. git worktree add crea alberi di lavoro collegati, cartelle aggiuntive allegate agli stessi dati .git. Secondo la documentazione ufficiale di git worktree, un albero di lavoro collegato condivide tutto con il repository tranne i file per albero di lavoro come HEAD e l'indice. In pratica:
| Parte del deposito | Copia propria o condivisa? | Cosa significa per gli agenti paralleli |
|---|---|---|
| File di lavoro | Propria copia | Le modifiche di un agente non sovrascrivono mai i file di un altro |
HEAD e la filiale in check-out | Propria copia | Ogni agente rimane nella propria filiale |
| Indice (area di sosta) | Propria copia | Un git add in un albero di lavoro non mette in scena nulla in un altro |
| Impegni e oggetti | Condiviso | Un commit effettuato in qualsiasi albero di lavoro è visibile in tutti loro |
| Rami e tag | Condiviso | Puoi unire il ramo di un agente dalla tua cartella principale senza recupero |
| Configurazione dell'archivio | Condiviso per impostazione predefinita | Remoti e alias si applicano a ogni albero di lavoro |
Una regola è importante per gli agenti: per impostazione predefinita, git worktree add rifiuta di effettuare il check-out di un ramo che è già stato eseguito in un altro albero di lavoro. Ogni agente ha quindi bisogno di una propria filiale, che è esattamente ciò che desideri al momento della revisione.
Come creare un albero di lavoro con git worktree add
Esegui i comandi dall'interno del tuo repository e inserisci nuovi alberi di lavoro accanto anziché al suo interno, in modo che editor, strumenti di ricerca e agenti non indicizzino un checkout dall'interno di un altro. Questo crea due alberi di lavoro, ciascuno su un nuovo ramo che inizia alle main:
cd ~/code/myapp
git worktree add -b agent/auth-refactor ../myapp-auth main
git worktree add -b agent/flaky-tests ../myapp-tests main
git worktree list-b crea il ramo, il percorso è la nuova cartella e l'ultimo argomento è il commit da cui iniziare. git worktree list stampa ogni albero di lavoro con la sua cartella, commit e ramo. Per utilizzare un ramo già esistente, tralascia -b: git worktree add ../myapp-review feature/login.
Un agente AI per albero di lavoro: il flusso di lavoro parallelo
Lo schema è semplice: un'attività, un ramo, un albero di lavoro, una sessione dell'agente. Rimani nell'albero di lavoro principale come revisore e gli agenti non condividono mai una cartella. Ciò che conta di più è come dividi il lavoro. Buoni compiti paralleli sono:
- In diverse parti del codice, come un refactoring in
auth/e nuovi test inbilling/, quindi i loro rami raramente toccano le stesse righe. - Chiaramente fatto o non fatto: un test fallito che dovrebbe passare, un endpoint da aggiungere, una dipendenza da aggiornare.
- Abbastanza piccolo da poter essere rivisto in una sola seduta. Un'enorme differenza tra agenti è un problema di revisione, indipendentemente dalla cartella da cui proviene.
Come eseguire agenti di codifica AI in parallelo con git worktrees
Impegna o nascondi il tuo lavoro attuale
I nuovi alberi di lavoro iniziano da un commit e le modifiche non confermate nella cartella principale rimangono indietro, quindi ogni agente dovrebbe iniziare dallo stesso stato confermato.
Crea un albero di lavoro per attività
Esegui
git worktree add -b agent/<task> ../<repo>-<task> mainuna volta per attività o crea gli alberi di lavoro da una GUI Git.Prepara ogni cartella
Installa le dipendenze, copia i file di ambiente necessari al progetto ed esegui la compilazione una volta, in modo che ogni agente inizi da un checkout che funzioni.
Avvia un agente in ciascuna cartella
Apri un terminale per albero di lavoro e avvia lì il tuo agente, ad esempio
claudein uno ecodexin un altro, ciascuno con un prompt ristretto che nomina l'area di sua proprietà.Rivedi, unisci e ripulisci
Quando un agente termina, leggi il suo diff, unisci il suo ramo dal tuo albero di lavoro principale, quindi rimuovi l'albero di lavoro ed elimina il ramo.
cd ../myapp-auth && claude
cd ../myapp-tests && codexEsegui ciascuna riga nel proprio terminale; i test e le build di ciascun agente vengono quindi eseguiti sui propri file.
Utilizzo degli alberi di lavoro Git con Claude Code
Per dare a Claude Code il proprio albero di lavoro manualmente, crea l'albero di lavoro con Git semplice e inizia claude al suo interno; l'agente quindi legge e modifica solo quella cartella ed effettua il commit su quel ramo:
git worktree add ../myapp-auth -b agent/auth
cd ../myapp-auth
claudeIl flag --worktree di Claude Code
Claude Code può creare l'albero di lavoro per te. Secondo la documentazione dell'albero di lavoro di Claude Code, claude --worktree feature-auth (o -w) crea un albero di lavoro sotto .claude/worktrees/feature-auth/ su un nuovo ramo denominato worktree-feature-auth, ramificato dal ramo predefinito del repository a meno che l'impostazione worktree.baseRef non indichi diversamente. Un file .worktreeinclude copia i file ignorati come .env in ogni nuovo albero di lavoro. All'uscita, Claude Code rimuove un albero di lavoro pulito e il suo ramo da una sessione senza nome e chiede prima di rimuoverne uno con modifiche o nuovi commit.
claude --worktree feature-authUtilizzo degli alberi di lavoro Git con la CLI del Codex
La CLI del Codex funziona nella directory da cui la avvii, quindi un albero di lavoro per sessione del Codex mantiene separate le modifiche, i test e i commit di ogni sessione:
git worktree add ../myapp-tests -b agent/tests
cd ../myapp-tests
codexL'app Codex e la CLI Codex
La documentazione dell'albero di lavoro dell'app Codex di OpenAI descrive gli alberi di lavoro che consentono a Codex di eseguire diverse chat in un unico progetto. Per impostazione predefinita vanno in $CODEX_HOME/worktrees, in base a un ramo scelto, e iniziano in uno stato HEAD distaccato anziché su un ramo. Nell'intestazione della chat, Hand off sposta una chat tra un albero di lavoro e il checkout locale e Crea ramo qui trasforma il lavoro di un albero di lavoro in un ramo che puoi rivedere e unire. Con la CLI del Codex, esegui codex da una directory di progetto, quindi avvialo all'interno dell'albero di lavoro che hai creato.
In ogni caso, questi sono normali alberi di lavoro Git, visibili a git worktree list e a qualsiasi GUI Git che lo legga.
Una GUI git worktree: tracciamento della cartella e del ramo di ogni agente
Con tre o quattro agenti in esecuzione, la parte difficile è tenere traccia di quale ramo si trova in quale cartella e quale agente sta ancora modificando i file. GitTree, il client Git per macOS, Windows e Linux che pubblica questo blog (repository privati inclusi), legge gli alberi di lavoro che Git già conosce, inclusi quelli creati da Claude Code o Codex, e assegna a ciascuno un posto nell'interfaccia.

- Una sezione ALBERI DI LAVORO nel pannello di sinistra. Ogni albero di lavoro, prima quello principale, denominato dal suo ramo (o dalla sua cartella quando staccato), con un segno di spunta su quello aperto in questa scheda. Gli alberi di lavoro bloccati, staccati e mancanti sono etichettati.
- Alberi di lavoro fratelli sui suggerimenti dei rami. Il grafico dei commit contrassegna ogni altro albero di lavoro sui suggerimenti dei rami con il numero di modifiche conservate, un modo rapido per vedere quali agenti stanno ancora modificando. Facendo clic sull'indicatore si apre la scheda dell'albero di lavoro.
- Crea un albero di lavoro da dove ti trovi. Crea albero di lavoro… nella palette dei comandi o Crea albero di lavoro da questo commit… su un commit ti consente di scegliere un nuovo ramo o un checkout separato, quindi la cartella; Crea albero di lavoro per questo ramo… su un ramo controlla quel ramo nella nuova cartella.
- Una scheda per albero di lavoro, con il proprio terminale. Apri albero di lavoro in una nuova scheda lo apre come qualsiasi repository e il terminale integrato sotto il grafico inizia nella cartella di quell'albero di lavoro con la tua shell, quindi puoi avviare
claudeocodexproprio da lì. - Blocca, sposta, rimuovi, sfoltisci e ripara. Blocca con un motivo facoltativo, sposta una cartella o rimuovila. Git si rifiuta di rimuovere un albero di lavoro con modifiche non confermate e il ramo rimane. Prune Stale Worktrees visualizza in anteprima ciò che Git eliminerebbe e Repair Worktree Links, eseguito da un albero di lavoro spostato manualmente, lo riconnette.
Ogni azione esegue Git che hai già installato, quindi il risultato corrisponde alla riga di comando:
| Compito | Riga di comando | Tra GitTree |
|---|---|---|
| Crea | git worktree add -b <branch> <path> <start> | Crea albero di lavoro... (palette dei comandi, menu commit o ramo) |
| Elenco | git worktree list | Sezione WORKTREES e marcatori sulle punte dei rami |
| Aperto | cd <path> | Apri Worktree in una nuova scheda |
| Bloccare | git worktree lock --reason "<text>" <path> | Blocca Worktree… (motivo facoltativo) |
| Muoviti | git worktree move <path> <new-path> | Sposta albero di lavoro... |
| Rimuovi | git worktree remove <path> | Rimuovi Worktree… |
| Potare | git worktree prune | Elimina gli alberi di lavoro obsoleti… (con un'anteprima) |
| Riparazione | git worktree repair | Riparare i collegamenti dell'albero di lavoro |
La GitTree pagina delle funzionalità elenca tutto ciò che fa l'app e Git GUI e riga di comando spiega quando ciascun approccio è più veloce.
Unire il lavoro di diversi agenti IA
Poiché i rami sono condivisi, il tuo albero di lavoro principale vede il ramo di ogni agente nel momento in cui l'agente effettua il commit. Tratta ognuno di essi come una richiesta pull di un compagno di squadra: attendibile, ma rivisto.
- Leggi prima la differenza. Confronta il ramo dell'agente con
mainpezzo per pezzo e cerca modifiche non correlate, test eliminati e nuove dipendenze. - Verifica la sovrapposizione. GitTree prevede i conflitti prima di un'unione, avvisa accanto al nome di un ramo quando potrebbe entrare in conflitto con
maine suggerisce quando altri rami non uniti toccano gli stessi file, tutti calcolati sul tuo computer. Con diversi rami dell'agente, ciò mostra quale ordine di fusione fa meno male. - Riordina la cronologia. Il checkpoint di Squash si impegna con un rebase interattivo in una GUI, all'interno dell'albero di lavoro di quell'agente: Git non effettuerà il checkout di un ramo che è stato estratto in un'altra cartella.
- Unisci o apri una richiesta pull. Unisci dal tuo albero di lavoro principale o trascina il ramo dell'agente su
mainin GitTree per unire, riorganizzare o avviare una richiesta pull. - Mantieniti indietro. Se due agenti hanno modificato le stesse righe, vedi come risolvere i conflitti di unione Git; se un'unione va male, puoi annullare un'unione, reimpostare o reimpostare.
- Pulisci. Rimuovi l'albero di lavoro, quindi elimina il ramo unito.
git switch main
git merge --no-ff agent/auth-refactor
git worktree remove ../myapp-auth
git branch -d agent/auth-refactorInsidie di Git Worktree con agenti di codifica AI
- Forzare un ramo in due alberi di lavoro.
--forceaggira il rifiuto di Git al costo di due cartelle in conflitto per un ramo. Apri invece l'albero di lavoro esistente; GitTree ti dice dove è stato effettuato il check-out di quel ramo. - Supponendo che gli alberi di lavoro isolino tutto. Isolano i file, non i servizi. Gli agenti che avviano i server di sviluppo sulla stessa porta o migrano lo stesso database locale continuano a entrare in conflitto, quindi assegna a ciascun albero di lavoro la propria porta e il proprio database di test.
- Eliminazione o spostamento di cartelle manualmente. Git tiene traccia di ogni albero di lavoro. Il record di una cartella eliminata permane finché
git worktree prune(o, molto più tardi, la pulizia automatica di Git) la rimuove;git worktree repair, esegui all'interno di una cartella che hai spostato, la ricollega. Blocca gli alberi di lavoro sulle unità che non sono sempre montate in modo che la potatura li lasci in pace. - Rimozione forzata del lavoro non revisionato.
git worktree removerifiuta un albero di lavoro con modifiche a meno che tu non aggiunga--force, quindi leggi prima la differenza. Le esecuzioni-pnon interattive di Claude Code lasciano i loro alberi di lavoro bloccati fino a quando una sessione successiva non li rilascia; sbloccane uno prima di rimuoverlo tu stesso. - Chiusura della scheda che esegue l'agente. In GitTree, il terminale integrato appartiene alla relativa scheda del repository e la chiusura della scheda interrompe le sessioni del terminale, incluso un agente in esecuzione in una.
- Gestire più agenti di quelli che puoi revisionare. La revisione è il vero collo di bottiglia. Inizia con due o tre attività parallele e aggiungine altre una volta che unirle diventa una routine.
Prova Worktrees per la tua prossima attività
I comandi dell'albero di lavoro di Git sono tutto ciò che ti serve per iniziare e una GUI semplifica la visualizzazione di diversi alberi di lavoro. GitTree ha un piano gratuito su macOS, Windows e Linux che copre tutte le funzionalità Git, repository privati inclusi, e Nour, l'assistente AI, viene fornito con GitTree Pro. Ogni funzionalità Git è disponibile nel piano gratuito una volta effettuato l'accesso e richiede Git 2.39 o versione successiva; su Ubuntu 22.04, aggiorna Git su Ubuntu prima. Segui la Linux guida all'installazione o visita la GitTree pagina di download.
Domande frequenti
Qual è la differenza tra git worktree e git clone?
Un clone copia l'intero repository in una nuova cartella con il proprio database di oggetti, quindi i suoi rami e commit raggiungono un altro clone solo tramite push e fetch. Un worktree è una cartella aggiuntiva dello stesso repository: commit e rami sono condivisi contemporaneamente, mentre ogni cartella mantiene i propri file, ramo e area di staging.
Due alberi di lavoro git possono avere lo stesso ramo estratto?
Non per impostazione predefinita. Git si rifiuta di creare un albero di lavoro per un ramo che è già stato estratto in un altro albero di lavoro, ed è meglio lasciare intatta l'opzione di forzatura che lo sovrascrive. Assegna a ogni albero di lavoro, e quindi a ogni agente AI, il proprio ramo, creato dallo stesso commit se hanno bisogno dello stesso punto di partenza.
Claude Code supporta git worktrees?
SÌ. La documentazione di Claude Code descrive un flag --worktree, o -w in breve, che crea un albero di lavoro sotto .claude/worktrees su un nuovo ramo e avvia la sessione al suo interno. Puoi anche creare un albero di lavoro con git worktree add, spostarti nella sua cartella e avviare lì Claude Code, che funziona allo stesso modo per Codex.
Come posso eliminare un worktree git in modo sicuro?
Esegui git worktreeremove con il percorso della cartella. Git rifiuta mentre l'albero di lavoro ha modifiche non salvate o file non tracciati, quindi rivedili o confermali prima e usa l'opzione di forzatura solo quando sei sicuro. Il ramo viene mantenuto, quindi eliminalo separatamente una volta unito. Se hai eliminato la cartella manualmente, git worktree prune cancella il record rimanente.
Git worktrees condivide node_modules, .env o crea file?
No. Un nuovo albero di lavoro contiene solo i file tracciati da Git. Le dipendenze installate, i file di ambiente e l'output della build rimangono nella cartella in cui sono stati creati, quindi ogni albero di lavoro necessita della propria installazione e della propria copia della configurazione locale. Per gli alberi di lavoro che crea, Claude Code può copiare i file ignorati scelti tramite un file .worktreeinclude.
Qual è il miglior gestore git worktree con una GUI?
Cerca un client che elenchi ogni albero di lavoro, mostri il ramo di ciascuno e se contiene modifiche e possa aggiungere, bloccare, spostare, rimuovere, sfoltire e riparare alberi di lavoro senza il terminale. GitTree, disponibile su macOS, Windows e Linux, fa tutto questo e contrassegna gli alberi di lavoro fratelli sui suggerimenti dei rami nel grafico dei commit.
GitTree avvia gli agenti AI in Worktrees per me?
No. GitTree gestisce gli alberi di lavoro e assegna a ciascuno la propria scheda, con un terminale integrato che inizia nella cartella di quell'albero di lavoro, dove avvii tu stesso Claude Code, Codex o un altro agente. Separatamente, GitTree può redigere messaggi di commit ed estrarre descrizioni di richieste tramite il tuo codice Claude, Codex o CLI Antigravity quando fai clic su Genera.
Fonti
Le affermazioni su altri prodotti sono state confrontate con le rispettive pagine ufficiali in data 22 ottobre 2026. Cambiano prezzi e caratteristiche; le pagine dei venditori sono la fonte della verità.