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
Utilizzare Tailwind CSS all'interno di React: primi componenti
Verificare la provenienza di un commit tramite le GitHub Actions
Utilizzare i primary constructor in C#
Effettuare il pull di git LFS in un workflow di GitHub
Utilizzare la libreria Benchmark.NET per misurare le performance
Usare ASP.NET Core dev tunnels per testare le applicazioni su internet
Routing statico e PreRendering in una Blazor Web App
Disabilitare automaticamente un workflow di GitHub
Autenticarsi in modo sicuro su Azure tramite GitHub Actions
Configurare dependabot per aggiornare le dipendenze di terze parti con GitHub Actions
Creare un'applicazione React e configurare Tailwind CSS
Sostituire la GitHub Action di login su private registry