In un articolo precedente (https://www.dopsitalia.com/script/82/Migrare-Repository-Git-Azure-DevOps-GitHub.aspx) abbiamo già osservato come sia facile migrare un repository di git. Questo è possibile indipendentemente dalla sorgente, che potrebbe essere su Azure DevOps, così come su BitBucket o altro, perchè alla fine sotto il cofano c'è sempre git come engine.
I repository, però, stanno diventando sempre più complessi e possono contenere anche dati di grandi dimensioni, come immagini di macchine virtuali, sample di dati per l'esecuzione di test, audio, video e così via. Questi dati, solitamente, non vengono conservati come oggetti "standard" di git, ma potrebbero richiedere l'uso di git-lfs, ovvero Git Large File Storage.
Il lavoro di git-lgs è quello di rimpiazzare questi file di grandi dimensioni con dei semplici puntatori all'interno di git, così che si possa fare il clone del repository velocemente, se abbiamo bisogno di una fix, indipendentemente da questi file "pesanti".
Per integrare il codice dell'esempio precedente, nella fase di clone, dobbiamo integrare questi comandi:
git clone --bare <git-url> <folder> cd <folder> git lfs fetch --all
Così facendo, non cloniamo il repository, ma solo i puntatori, inclusi gli oggetti contenuti in git-lfs.
Successivamente, possiamo procedere al push, includendo anche gli oggetti di git-lfs.
git push --mirror <git-url> git lfs push --all <git-url>
L'uso di git-lfs in GitHub è soggetto a limitazioni e costi aggiuntivi in base alla dimensione degli oggetti e alla banda utilizzata nel clone degli oggetti stessi.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Cancellare una run di un workflow di GitHub
Evitare la script injection nelle GitHub Actions
Eseguire query manipolando liste di tipi semplici con Entity Framework Core
Visualizzare le change sul plan di Terraform tramite le GitHub Actions
Sostituire la GitHub Action di login su private registry
Reactive form tipizzati con modellazione del FormBuilder in Angular
Usare il colore CSS per migliorare lo stile della pagina
Creazione di plugin per Tailwind CSS: espandere le funzionalità del framework dinamicamente
Filtering sulle colonne in una QuickGrid di Blazor
Utilizzare QuickGrid di Blazor con Entity Framework
Miglioramenti nell'accessibilità con Angular CDK
Eseguire un metodo asincrono dopo il set di una proprietà in Blazor 8