Da Anonimo (non verificato) , 29 Aprile 2026

Sinossi

git checkout-index [-a] [-f] [-u] [--prefix=<dir>] [<file>...]

Descrizione

Il comando git checkout-index scrive il contenuto dei file dall'index alla working tree (o a una directory arbitraria usando --prefix). Non cambia l'index, il branch corrente o HEAD — rendendolo più sicuro di git checkout per estrazione file scriptata.

Nell'uso quotidiano, git checkout-index si integra con alias e CI.

Capire il modello dati di Git aiuta a prevedere i risultati.

Quando usarlo

La maggior parte degli utenti non ne ha mai bisogno. Usalo quando script un deployment dall'index, costruisci tarball sorgente o esporti uno snapshot a una directory diversa dalla working tree.

Opzioni comuni

OpzioneDescrizione
-a, --allFa checkout di ogni file nell'index.
-f, --forceSovrascrive file esistenti.
-uAggiorna info di stat per i file scritti.
--prefix=<dir>Scrive in <dir> invece che nella working tree.
--stage=<n>Fa checkout di uno stage specifico (1=base, 2=ours, 3=theirs).
-zInput/output terminato da NUL.
--no-createNon crea file; aggiorna solo le stat.

Esempi

git checkout-index -a -f --prefix=/tmp/snapshot/
# Esporta l'intero index in /tmp/snapshot/

git checkout-index --prefix=build/ src/main.c
# Copia un singolo file in build/

git checkout-index --stage=2 -f -- conflicted.txt
# Sceglie la versione "ours" durante un conflitto

git ls-files | git checkout-index -f --stdin
# Ripristina ogni file tracciato dall'index

Errori comuni

L'argomento --prefix deve terminare con uno slash, altrimenti i nomi dei file si concatenano in modo strano. Senza -f, file esistenti nella destinazione causano errori. Scegliere lo --stage sbagliato durante la risoluzione dei conflitti applica una versione peggiore di quella intesa.

Comandi correlati

git checkout, git restore, git archive, git ls-files