Utiliser des référentiels volumineux
Git est un excellent système de contrôle de version largement adopté et recommandé, mais quelques préoccupations doivent être prises en charge lors de l’utilisation de dépôts volumineux.
Tout en ayant une copie locale des référentiels dans un système de contrôle de version distribué est fonctionnelle, cela peut être un problème significatif lorsque des dépôts volumineux sont en place.
Par exemple, Microsoft a découvert ce problème lors de la migration d’un référentiel avec plus de 300 Go de données d’un système interne vers Git.
Pourquoi les référentiels deviennent volumineux
Il existe deux causes principales pour les dépôts volumineux :
- Histoire longue
- Fichiers binaires volumineux
Clone peu profond
Si les développeurs n’ont pas besoin de l’historique disponible dans leurs référentiels locaux, une bonne option consiste à implémenter un clone peu profond.
Il économise de l’espace sur les systèmes de développement locaux et le temps nécessaire à la synchronisation.
Vous pouvez spécifier la profondeur du clone que vous souhaitez exécuter :
git clone --depth [depth] [clone-url]
Vous pouvez également réduire les clones en filtrant des branches ou en clonant une seule branche.
VFS pour Git
VFS pour Git aide à gérer des dépôts volumineux. Il nécessite un client Git LFS.
Les commandes Git standard ne sont pas affectées, mais git LFS fonctionne avec le système de fichiers standard pour télécharger les fichiers nécessaires en arrière-plan lorsque vous avez besoin de fichiers à partir du serveur.
Le client Git LFS a été publié en tant que open source. Le protocole est un simple avec quatre points de terminaison similaires aux points de terminaison REST.
Pour plus d’informations sur les dépôts volumineux, consultez : Utilisation de fichiers volumineux et Système de fichiers virtuels pour Git : Activer Git à l’échelle de l’entreprise.
Scalaire
Scalar est une application .NET Core disponible pour Windows et macOS. Avec des outils et des extensions pour Git pour permettre aux dépôts très volumineux d’optimiser les performances de vos commandes Git. Microsoft l’utilise pour les référentiels Windows et Office.
Si Azure Repos héberge votre référentiel, vous pouvez cloner un référentiel à l’aide du protocole GVFS .
Elle s’effectue en activant certaines fonctionnalités Git avancées, telles que :
- clone partiel : réduit le temps nécessaire pour obtenir un référentiel fonctionnel en ne téléchargeant pas tous les objets Git immédiatement.
- Prérécupération en arrière-plan : télécharge les données d’objet Git à partir de tous les dépôts distants toutes les heures, ce qui réduit la durée des appels git fetch au premier plan.
- Sparse-checkout : limite la taille de votre répertoire de travail.
- moniteur de système de fichiers : effectue le suivi des fichiers récemment modifiés et élimine la nécessité pour Git d’analyser l’arborescence de travail entière.
- Commit-graph : accélère les instructions de validation et les calculs d’accessibilité, accélérant ainsi les commandes telles que le journal Git.
- multi-pack-index : permet de rechercher rapidement des objets dans de nombreux fichiers pack.
- Réemballage Incrémentiel : Réemballe les données Git empaquetées dans un nombre réduit de fichiers de paquet sans perturber les commandes simultanées à l’aide de l’index multi-paquets.
Note
Nous mettons à jour la liste des fonctionnalités que Scalar configure automatiquement à chaque sortie d'une nouvelle version de Git.
Pour plus d’informations, consultez :