Dossier de pistes Git LFS de manière récursive

100

Est-il possible de suivre récursivement tous les fichiers contenus dans un dossier et ses sous-dossiers avec Git LFS?

Je voudrais faire quelque chose comme ça:

git lfs track myfolder/*
csa
la source

Réponses:

147

Utilisez git lfs track "myfolder/**", avec des guillemets pour éviter que la coque ne développe déjà le motif. Tout ce que fait la trackcommande est d'écrire dans .gitattributes, qui à son tour utilise (presque) les mêmes règles de correspondance de modèle que .gitignore, voir la description du FORMAT DE PATTERN .

sschuberth
la source
J'ai essayé cela avec des sous-dossiers, mais seuls les fichiers et les sous-dossiers directs (comme mon dossier / mon dossier2 / ) contenus dans mon dossier sont suivis, mais pas les fichiers contenus dans les sous-dossiers (comme mon dossier / mon dossier / mon fichier.png ). Merci pour votre aide
csa
18
Ah, vous êtes probablement victime de l'expansion du shell, c'est-à-dire que myfolder/**le shell a été étendu avant d'être passé à Git. J'ai mis à jour ma réponse pour ajouter des citations, ce qui devrait résoudre ce problème.
sschuberth
2
Oui, cela fonctionne pour moi, et selon les commentaires aussi pour les autres. Si vous êtes sous Windows, notez que la commande doit être utilisée depuis Git Bash, pas depuis cmd.
sschuberth
1
En fait, je viens de le tester et il semble que cet article du centre d'aide est incorrect et que vous souhaitez utiliser git lfs track "myfolder/**"comme le suggère cette réponse. Vous trouverez plus de détails et d'étapes de vérification dans cette réponse .
Senseful
5
J'ai dû utiliser git lfs track "myfolder/**/*"pour le faire fonctionner.
Luc