Maison > outils de développement > git > le corps du texte

Comment gérer les fichiers git trop volumineux

WBOY
Libérer: 2023-05-17 09:57:36
original
2960 Les gens l'ont consulté

Lorsque vous utilisez Git pour le contrôle de version de fichiers, vous pouvez parfois rencontrer des fichiers trop volumineux. Lorsque le fichier est trop volumineux, cela peut entraîner des problèmes tels qu'une vitesse d'exécution Git plus lente, une utilisation accrue de la mémoire ou même un échec du téléchargement de la soumission Git. Cet article présentera plusieurs façons de gérer les fichiers Git trop volumineux.

1. Utiliser Git LFS

Git Large File Storage (Git LFS en abrégé) est une extension de Git, spécialement utilisée pour traiter des fichiers volumineux. Avec Git LFS, Git ne stocke plus les fichiers dans un référentiel, mais lie les fichiers à un référentiel spécifique. Cette méthode peut éviter une bibliothèque de versions trop volumineuse causée par un trop grand nombre de fichiers volumineux, améliorant ainsi les performances des opérations de Git.

Ensuite, nous présenterons comment utiliser Git LFS :

  1. Utilisez Homebrew pour installer l'outil git-lfs sur Mac :

brew install git-lfs

  1. Exécutez la commande git lfs install pour configurer Git LFS :

git lfs install

  1. Utilisez la commande git lfs track dans le référentiel Git qui doit être géré par Git LFS pour spécifier les types de fichiers volumineux qui doivent être gérés. Par exemple, la commande suivante transférera les fichiers image avec les extensions png à Git LFS pour la gestion.

git lfs track "*.png"

  1. Validez les modifications dans Git et utilisez la commande git lfs push pour télécharger des fichiers volumineux gérés dans Git LFS.

git lfs push origin master

  1. Enfin, utilisez la commande git lfs fetch dans Git pour télécharger les fichiers gérés dans Git LFS vers le local.

2. Utilisez Git Annex

Git Annex est une autre extension de Git et est également utilisée pour gérer des fichiers volumineux. Mais contrairement à Git LFS, Git Annex ne remplacera pas la gestion de fichiers Git d'origine, mais servira de complément à la gestion de fichiers Git. Les fichiers volumineux gérés par Git Annex ne sont pas téléchargés dans le référentiel Git local, mais sont stockés sur le disque local et un pointeur vers le fichier volumineux est stocké dans le référentiel Git.

Voici comment utiliser Git Annex :

  1. Utilisez Homebrew pour installer l'outil git-annex sur Mac :

brew install git-annex

  1. Initialisez-vous dans le référentiel Git qui doit être géré par Git Annex :

git annex init

  1. Ajouter les fichiers qui doivent être gérés à Git Annex :

git annex add large_file.mp4

  1. Soumettre le fichier au référentiel Git :

git commit -m "add large_file.mp4 "

  1. Lorsque vous devez télécharger un fichier, utilisez la commande git annex get :

git annex get large_file.mp4

3. Utilisez Git repack pour compresser le référentiel

En plus d'utiliser Git LFS, Git Annex et d'autres outils pour gérer des fichiers volumineux, nous pouvons également essayer d'utiliser l'outil de repack fourni avec Git pour compresser le référentiel afin de réduire la taille du référentiel. Voici comment utiliser l'outil de repack :

  1. Exécutez la commande suivante dans Git :

git repack

  1. Si vous souhaitez compresser les fichiers de l'historique, vous pouvez l'exécuter comme ceci :

git repack - a -d

  1. Cela générera un tout nouveau fichier pack, tous les objets non compressés y seront reconditionnés et les fichiers en double seront automatiquement supprimés, réduisant ainsi la taille du fichier historique. Si vous devez télécharger le fichier du pack compressé sur le serveur Git, vous pouvez utiliser la commande suivante :

git gc

4. Utilisez Git BFG

Git BFG est l'abréviation de Git backup filter et est un outil simple et pratique Outil Git. Il est basé sur l'outil officiel Git et peut aider les utilisateurs de Git à mieux gérer les bibliothèques de contrôle de version Git. L'utilisation de Git BFG peut vous aider à supprimer plus facilement certains fichiers et enregistrements d'historique inutiles dans le référentiel de contrôle de version Git. Ce qui suit est une introduction à l’utilisation de Git BFG.

  1. Utilisez Homebrew sur Mac pour installer Git BFG localement :

brew install bfg

  1. Utilisez bfg 命令来删除不需要的文件。注意替换 file-to-remove dans le référentiel Git comme nom de fichier qui doit être supprimé. Les caractères génériques sont également pris en charge :

bfg --delete. - files file-to-remove

  1. Exécutez la commande suivante pour effacer définitivement les fichiers du référentiel de l'historique. Cette étape enregistrera les fichiers contenant "'file-to-remove'" dans l'historique afin qu'ils puissent être complètement supprimés :

git reflog expire --expire=now --all && git gc --prune=now -- agressif

  1. Enfin utilisez la commande suivante pour synchroniser la branche locale et la branche distante :

git push origin --force

Résumé :

Pour le problème des fichiers Git trop volumineux, on peut utiliser Git LFS, Git Annexe, Git repack et Git BFG et autres méthodes de traitement. Ces outils nous aideront tous, il suffit de choisir en fonction de la situation et des besoins réels. Si vous êtes souvent confronté au problème des fichiers Git trop volumineux, nous vous recommandons d'essayer les méthodes décrites ci-dessus.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!