cClaude.rocks ☕ Le blog

[Nouvelles technologies, sciences et coups de gueule…]

Menu

Comment migrer un référentiel git pour utiliser Git Large File Storage

Si vous rencontrez cette erreur en poussant un dĂ©pĂŽt existant ou un gros fichier sur GitHub par exemple, et que vous avez un message d’insulte comme celui ci-dessous, voici comment configurer le systĂšme de stockage de fichiers volumineux (LFS) de git et migrer votre historique git pour prendre en compte ce changement.

remote: error: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com.

Attention, il se peut que le message ne soit pas aussi explicite en fonction du serveur. Par ailleurs, il est prĂ©fĂ©rable de migrer avant d’atteindre ce mur pour des questions de performances.


ඏ

Installation de l’extension Git LFS

Sous Linux, pour installer l’extension Git LFS, vous devez simplement utiliser :

sudo apt install git-lfs

ඏ

Configuration de Git LFS votre utilisateur

git lfs install

Choisir les fichiers qui seront traités par Git LFS

  • Suivre les fichiers par extensions (par type) :
git lfs track "*.zip"
  • Suivre un groupe de fichiers d’aprĂšs un chemin :
git lfs track "assets/*"
  • Suivre tous les fichiers d’un dossier de maniĂšre rĂ©cursive :

git lfs track "assets/**/*"
  • Suivre un fichier d’aprĂšs son chemin :
git lfs track "path/to/file"

git lfs track ajoutera les fichiers suivis par Git LFS Ă  .gitattributes. Il est indispensable d’ajouter ensuite .gitattributes Ă  votre dĂ©pĂŽt git.

git add .gitattributes

Le suivi des fichiers ne convertit pas automatiquement les fichiers gérés par git depuis votre historique git (et encore moins sur les autres branches).


ඏ

Migration de l’histoire d’un dĂ©pĂŽt Git

Si vous avez des fichiers existants dans votre historique Git ou dans d’autres branches, vous devez migrer ces fichiers pour qu’ils soient Ă©galement suivis par Git LFS. Git LFS fournit une commande git lfs migrate avec diffĂ©rentes options permettant de rĂ©pondre Ă  diffĂ©rentes situations.

Avant d’effectuer votre migration, vous pouvez effectuer un essai avec git lfs migrate info [options].

Utilisez l’option --everything pour effectuer une migration dans chaque branche.

Si vous ne voulez migrer que les fichiers que vous avez ajoutĂ©s auparavant avec git lfs track, vous les ajouterez avec l’option --include="*.zip,src/assets" sĂ©parĂ©s par des virgules.

Voici un exemple qui effectue une migration pour tous les fichiers Zip d’un dĂ©pĂŽt :

# Lance un essai de votre migration
git lfs migrate info --everything --include="*.zip"
# Effectue la migration
git lfs migrate import --everything --include="*.zip" --verbose

Maintenant, vous pouvez pousser (git push) votre dépÎt vers le serveur.


ඏ

RĂ©fĂ©rences permettant d’aller beaucoup plus loin


኿


â„č 2006 - 2022 | 🏠 Accueil du domaine | 🏡 Accueil du blog