Git Large File Storage (LFS) est une extension open-source de Git qui s'attaque à la limitation de gestion des gros fichiers. C'est une solution développée par GitHub pour gérer les fichiers volumineux qui sont difficiles à manipuler avec le Git régulier.
Git n'a pas été conçu pour contenir de gros fichiers. En fait, il gère très mal les fichiers de taille importante comme les fichiers multimédia (audio, vidéo, images) ou les archives de données. Il est lent et peut rapidement gonfler la taille du dépôt, ce qui peut poser des problèmes de performances.
Git LFS résout ce problème en stockant les fichiers volumineux en dehors du dépôt Git, et en les remplacant par de petits fichiers de référence dans le dépôt. Ainsi, lorsqu'un clone Git est réalisé, seuls les fichiers de référence petits et légers sont téléchargés. Les fichiers volumineux sont téléchargés uniquement lorsque nécessaire.
Pour commencer à utiliser Git LFS, vous devez d'abord l'installer sur votre machine et l'initialiser dans votre dépôt Git. Une fois cela fait, vous pouvez sélectionner les types de fichiers que Git LFS doit suivre. Par exemple, si vous voulez que Git LFS gère tous vos fichiers .png, vous diriez : git lfs track "*.png"
.
Lorsque de gros fichiers sont ajoutés ou modifiés, Git LFS les stocke dans un stockage externe, et les remplace par de petits fichiers texte contenant une référence à ces fichiers. Les fichiers réels sont téléchargés au besoin, ce qui rend le dépôt beaucoup plus léger et plus rapide.
En plus de gérer efficacement de gros fichiers, Git LFS maintient également leur historique de version. Cela signifie que vous pouvez toujours revenir à une version précédente d'un fichier, tout comme vous le feriez avec n'importe quel autre fichier dans Git.
Git LFS est particulièrement utile pour les développeurs travaillant sur des projets multimédia, de jeux, de traitement de données et de machine learning, où la taille et le nombre de fichiers peuvent rapidement augmenter.
En résumé, Git LFS est un outil précieux qui vient combler une des lacunes de Git : la gestion des gros fichiers. Il permet de maintenir des dépôts légers et rapides, tout en gardant un historique complet des fichiers quel que soit leur taille. En plus, il est facile à installer et à utiliser, ce qui en fait une solution idéale pour les projets gérant de gros volumes de données.