64 votes

gitignore par taille de fichier ?

J'essaie de mettre en œuvre Git pour gérer des ressources créatives (Photoshop, Illustrator, Maya, etc.), et j'aimerais exclure des fichiers de Git en fonction de leur taille plutôt que de leur extension, de leur emplacement, etc.

Par exemple, je ne veux pas exclure tous les fichiers .avi, mais il y a une poignée de fichiers avi massifs de 1 Go dans des répertoires aléatoires que je ne veux pas engager.

Des suggestions ?

65voto

abendine Points 651

Je suis novice en matière de .gitignore, donc il y a peut-être de meilleures façons de procéder, mais j'ai exclu des fichiers par leur taille en utilisant :

find . -size +1G | cat >> .gitignore

Il est évident que vous devrez exécuter ce code fréquemment si vous générez un grand nombre de fichiers volumineux.

8voto

andreagalle Points 340

Bien que la taille du fichier soit très grande et que ce qui suit ne devrait pas être un problème du tout et à condition que la réponse de @abendine soit correcte, selon : https://stackoverflow.com/a/22057427/6466510

find * -size +1G | cat >> .gitignore

ce serait bien mieux. Jetez aussi un coup d'œil à ceci : Différence entre find . et find * dans unix il s'avère que le remplacement . con * ci-dessus, éviter de trouver des choses dans .git répertoire.

6voto

tisaconundrum Points 772

Je voulais également proposer une version Windows de ce programme.

forfiles /s /c "cmd /q /c if @fsize GTR 1073741824 echo @relpath" >> .gitignore

3voto

earizon Points 39

(Mise à jour 2020-05)

Microsoft a publié il y a quelque temps Git-LFS comme Open-Source. C'est probablement ce que la plupart des gens recherchent vraiment :

https://git-lfs.github.com/ C&P de la page du projet : "Git Large File Storage (LFS) remplace les fichiers volumineux tels que les échantillons audio, les vidéos, les ensembles de données et les graphiques par des pointeurs de texte à l'intérieur de Git, tout en stockant le contenu des fichiers sur un serveur distant comme GitHub.com ou GitHub Enterprise."

2voto

user5783745 Points 1214

Pour satisfaire la limite de fichiers <100MB de github, exécutez ceci :

find . -size +100M | cat >> .gitignore

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X