Comment fonctionne Git LFS : Aperçu de Git Large File Storage

Les équipes de développement du monde entier utilisent Git pour gérer le code source. Et beaucoup utilisent Git LFS – Git Large File Storage – pour gérer et stocker des fichiers volumineux. Ici, nous décomposons ce que fait Git LFS et quand l’utiliser.

Can Git peut-il gérer les gros fichiers ?

Git ne peut pas gérer les gros fichiers tout seul. C’est pourquoi de nombreuses équipes Git ajoutent Git LFS pour traiter les gros fichiers dans Git.

Qu’est-ce que Git LFS (Git Large File Storage)?

Git LFS est une extension Git utilisée pour gérer les gros fichiers et les fichiers binaires dans un dépôt Git séparé.

La plupart des projets aujourd’hui ont à la fois du code et des actifs binaires. Et le stockage de gros fichiers binaires dans les dépôts Git peut être un goulot d’étranglement pour les utilisateurs de Git.

C’est pourquoi certains utilisateurs de Git ajoutent Git Large File Storage (LFS).

Comment fonctionne Git LFS ?

Git LFS utilise des pointeurs au lieu des fichiers réels ou des grands objets binaires (blobs).

Donc, au lieu d’écrire de gros fichiers/blobs dans un dépôt Git, vous écrivez un fichier de pointeurs. Et les fichiers/blobs eux-mêmes sont écrits sur un serveur séparé. Vous pouvez même utiliser plusieurs serveurs dans Git LFS.

Démarrer est assez simple. Vous téléchargez l’extension et configurez vos types de fichiers.

L’utilisation de Git LFS permet de versionner des fichiers volumineux (et de gérer des blobs) tout en libérant de l’espace dans les dépôts Git. Et Git LFS est souvent une solution pour pousser les gros fichiers vers GitHub.

Les problèmes de Git au-delà de LFS

Git a des problèmes au-delà de Git LFS. Et la sécurité est un gros problème. Git natif manque de sécurité, et les options complémentaires pour sécuriser Git ne sont pas géniales. Découvrez ce que vous devriez faire pour la sécurité de Git dans notre livre blanc – Comment verrouiller Git.

Lock Down Git

Dois-je utiliser Git LFS ?

Vous devriez utiliser Git LFS si vous avez des fichiers volumineux ou des fichiers binaires à stocker dans les dépôts Git.

C’est parce que Git est décentralisé. Ainsi, chaque développeur a l’historique complet des changements sur son ordinateur. Et les changements dans les gros fichiers binaires font que les dépôts Git augmentent de la taille de ce fichier chaque fois que le fichier est modifié (et que cette modification est commise). Cela signifie qu’il faudra des années pour obtenir les fichiers. Et si vous y parvenez, il sera difficile de versionner et de fusionner les binaires.

Donc, chaque fois que les fichiers grossissent, le dépôt Git grossit. Et lorsque les utilisateurs de Git ont besoin de récupérer et de cloner un dépôt, cela crée des problèmes.

Git LFS a été créé pour résoudre ces problèmes. Mais il a ses propres problèmes…

When Git Large File Storage Doesn’t Work

Git LFS fonctionne. Mais les équipes nous disent constamment que c’est difficile à gérer. Ainsi, même si Git lui-même est gratuit, il peut accumuler des coûts de productivité.

Installer Git LFS sur chaque serveur et poste de travail (et/ou repo) prend du temps. Cela pèse également sur les administrateurs. Une fois qu’il est installé, il n’y a pas de visibilité et peu de contrôle sur lui. Et si certains développeurs ne disposent pas de l’extension Git LFS ? Cela se casse la figure.

Il faut des étapes supplémentaires pour maintenir Git Large File Storage avec des build runners, tels que Jenkins. Cela entraîne un temps supplémentaire – et une complexité supplémentaire.

Tout cela peut entraîner des problèmes de performance.

Alternatives à Git LFS

Git LFS n’est pas la seule façon de gérer les gros fichiers dans Git. Il existe des alternatives.

Cela inclut d’autres correctifs open source ou tiers, tels que :

  • git-annex
  • git-bigfiles
  • git-fat
  • git-media
  • git-bigstore
  • git-sym

Mais, tout comme Git LFS, ces options de stockage de gros fichiers Git peuvent créer des problèmes. Il y a une meilleure façon de gérer les gros fichiers et les fichiers binaires.

Le meilleur contrôle de version pour les gros fichiers binaires : Helix Core

Les projets d’aujourd’hui sont plus gros, avec plus de fichiers et d’actifs mixtes que jamais auparavant. Git et Git LFS seuls ne peuvent pas gérer cela. Mais Helix Core le peut.

Helix Core – logiciel de contrôle de version de Perforce – est la meilleure option pour gérer les gros fichiers binaires. C’est parce que le stockage de gros fichiers est une capacité native, pas un ajout. Et il est à l’épreuve des balles.

Dans Helix Core, vous pouvez stocker des binaires à côté de votre code source. En fait, tous vos fichiers les plus volumineux – fichiers binaires, code source, fichiers artistiques, fichiers vidéo, images, bibliothèques et artefacts de construction – peuvent vivre ensemble dans un seul référentiel. Sans ralentir les grandes équipes distribuées.

Voyez par vous-même pourquoi Helix Core est l’outil de choix pour gérer les gros fichiers binaires.

Gérer les gros fichiers dans Helix Core

Au fait, Perforce a Git, aussi

Vous avez toujours des équipes qui ont besoin de gérer les gros fichiers dans Git ? Vous pouvez les intégrer dans votre pipeline de construction avec les outils Perforce Git – Helix4Git et Helix TeamHub.

Helix4Git est un serveur Git à l’intérieur d’un serveur Perforce. Helix TeamHub est une solution d’hébergement de code Git. Ces outils permettent aux équipes Git de tirer parti de la vitesse et des performances d’Helix Core – tout en travaillant dans Git.

Donc, vous pouvez utiliser Helix4Git aux côtés d’Helix Core pour amener votre dépôt Git dans votre pipeline de construction. Helix4Git permet à vos développeurs d’utiliser encore leurs outils Git natifs. Mais ils obtiennent leurs fichiers beaucoup plus rapidement.

Vous obtenez :

  • Des performances de build CI/CD plus rapides.
  • Prise en charge de projets multi-repôts, de dépôts d’artefacts, et même d’un registre de conteneurs Docker.
  • La possibilité d’ajouter progressivement des nœuds.
  • Réplication et contenu à jour garanti sans décalage, au lieu de copier.

Leave a Reply