C'è un conflitto fondamentale tra il modello git e quello che stai cercando di fare qui. git clone
esegue una copia completa del repository sul computer locale. L'idea di git
è di mantenere una copia completa del repository localmente. Non c'è quasi nessuna comunicazione con il server con la maggior parte dei comandi. L'unica volta che c'è comunicazione è quando si git fetch
(trascina tutte le modifiche alle diramazioni dal server) o git push
(spinge tutte le modifiche alle diramazioni locali al repository remoto) o, naturalmente, quando si effettua una copia completa con git clone
.
Quindi davvero, penso che tu sia bloccato. Quello che raccolgo è che vuoi tirare giù molti progetti diversi, eseguire analisi su ciascuno, quindi eliminare i risultati. Questo non è qualcosa per cui Git è stato progettato in quanto fondamentalmente riguarda la conservazione e la modifica di una copia locale di un repository per un lungo periodo di tempo.
Io metto in dubbio la tua ipotesi che tirando alla memoria farebbe addirittura la differenza. Le operazioni di rete sono un paio di ordini di grandezza più lenti delle operazioni su disco. Un disco non SSD decente ti darà circa 150 MB / s. E SSD sta per triplicare questo. A meno che tu non abbia una connessione molto migliore di me, tirare la memoria non accelera affatto perché il tuo sistema operativo impiega tutto il suo tempo ad attendere le richieste di rete al server git.
Se stai lavorando con github, potresti stare meglio con il metodo "Download ZIP" su ogni pagina del progetto. Questo scaricherà un ramo senza tutte le informazioni sul ramo estraneo / cronologico. Dovrebbe essere più veloce di un git pull
per i casi in cui è necessaria solo l'ultima versione di un ramo.