Sto lavorando con un repository con un numero molto elevato di file che richiede ore per il checkout. Sto esaminando la possibilità che Git funzioni bene con questo tipo di repository ora che supporta checkout sparsi, ma ogni esempio che trovo fa quanto segue:
git clone <path>
git config core.sparsecheckout true
echo <dir> > .git/info/sparse-checkout
git read-tree -m -u HEAD
Il problema con questa sequenza di comandi è che anche il clone originale fa un checkout. Se si aggiunge -n al comando clone originale, il comando read-tree provoca il seguente errore:
errore: checkout sparso non lascia alcuna voce nella directory di lavoro
Come si può fare il checkout sparse senza prima verificare tutti i file?
git worktree add --no-checkout
funzionerà anche (non solo git clone --no-checkout
) con git 2.9 (solo 2016). Vedi la mia risposta qui sotto