Git worktree: più branch in checkout contemporaneamente

Guida a Git worktree

Git worktree: add, list, remove e prune, con esempi | We.Inc

Crea il comando git worktree add esatto per un nuovo branch, un branch esistente o un commit detached, poi elenca, blocca, sposta, rimuovi e pulisci i worktree in sicurezza.

git worktree permette a un unico repository di avere più cartelle di lavoro, ognuna sul proprio branch, che condividono un solo object store. Esegui git worktree add ../hotfix -b hotfix per creare una nuova cartella su un nuovo branch, git worktree list per vederle tutte e git worktree remove ../hotfix quando hai finito. Non serve un secondo clone.

I comandi worktree che ti servono ogni giorno

Fare stash, cambiare branch e ricompilare ogni volta che qualcuno chiede una correzione veloce è una perdita di tempo. Un worktree ti dà un secondo checkout dello stesso repo in un'altra cartella, così una lunga esecuzione dei test, una code review e una patch urgente possono vivere ciascuna nella propria directory. Usa il generatore per ottenere i comandi, poi consulta il riferimento per i sottocomandi meno comuni.

Domande frequenti

Qual è la differenza tra un worktree e un clone?

Un clone copia l'intero repository, cronologia compresa. Un worktree collegato condivide gli oggetti e i ref del repository originale e aggiunge solo una nuova cartella di lavoro più pochi metadati, quindi i commit fatti in uno sono subito visibili dagli altri senza fare fetch.

Due worktree possono usare lo stesso branch?

Non di default. git worktree add rifiuta un branch che è già in checkout altrove, perché due cartelle che spostano lo stesso branch sovrascriverebbero il lavoro l'una dell'altra. --force aggira il blocco, ma un HEAD detached o un secondo branch è quasi sempre la scelta migliore.

Perché git worktree remove fallisce?

Si rifiuta quando la cartella contiene file tracciati modificati o file non tracciati, così non perdi lavoro. Prima fai commit o ripulisci la cartella, oppure passa --force. Un worktree bloccato richiede --force due volte.

Cosa fa git worktree prune?

Elimina i record residui che git conserva per i worktree le cui cartelle non esistono più, per esempio dopo averne rimosso uno con rm -rf. Aggiungi -n per vedere prima cosa rimuoverebbe.

Come rinomino o sposto la cartella di un worktree?

Usa git worktree move <worktree> <new-path> così git aggiorna i suoi record. Se l'hai già spostata con il file manager, esegui git worktree repair dalla nuova posizione per ricollegarla.

Buoni motivi per usare i worktree

Cosa è condiviso e cosa no

Tutti i sottocomandi di git worktree

I sottocomandi di git worktree e la loro sintassi

Un hotfix senza lasciare il tuo branch

Correggere la produzione mentre una feature è a metà

La cartella della tua feature resta esattamente com'era. La correzione vive in una cartella sorella e viene rimossa una volta fatto il push.

Elencare i worktree in un formato adatto agli script

Ogni worktree è un blocco di righe separato da una riga vuota: il suo percorso, l'hash di HEAD e il branch (oppure detached).

Generatore di comandi worktree

Cartella del worktree

Nome del branch

Parti da (branch, tag o commit)

Cosa mettere in checkout

Nuovo branch

Branch esistente

Commit detached

Crealo e aprilo

Quando hai finito

Inserisci il percorso di una cartella per vedere i comandi.

Suggerimento: un percorso che inizia con ../ mette la nuova cartella accanto al tuo checkout principale.

Inizia gratis · Nessuna carta di credito richiesta

Correlati: Guide

Prodotto

Per chi è

Funzionalità

Risorse

Azienda

Mappa del sito