web-dev-qa-db-fra.com

Comment git gère-t-il les fichiers binaires?

  • Dois-je définir quelque chose pour dire à git si certains fichiers sont binaires, tout comme svn? Ou, git peut-il gérer automatiquement les données binaires?
  • Si je modifie le fichier binaire, afin d'avoir 100 révisions binaires, git va-t-il simplement stocker les 100 versions individuellement dans le référentiel?
  • À quoi servent les sous-modules avec git?
57
prosseek
  1. Git peut généralement détecter automatiquement les fichiers binaires.
  2. Non, Git tentera de stocker les changesets basés sur delta si c'est moins cher (pas toujours le cas).
  3. Les sous-modules sont utilisés si vous souhaitez référencer d'autres référentiels Git dans votre projet.
51
Amber

Git utilise une heuristique pour essayer de déterminer si un fichier est un binaire. Voir ceci article pour plus d'informations et comment forcer git à traiter un fichier donné comme un binaire.

Pour un bon tutoriel sur les sous-modules, voir ici et ici .

20
Jason Jenkins

J'ai eu essentiellement le même problème: je voulais créer des fichiers de pickle, qui sont binaires, mais git pense qu'il s'agit de texte.

J'ai trouvé ce chapitre sur les attributs Git dans le livre Pro Git. J'ai donc résolu mes problèmes en créant un .gitattributes fichier avec cette ligne:

*.pickle binary
11
Alexandre Mazel
git add my-binary-file
git commit
git Push

Ajoutera votre fichier binaire; c'est automatique.

En effet, si vous disposez de 100 versions de votre fichier il le stockera (mais compressé).

Vous pouvez utiliser des sous-modules pour faire référence à d'autres référentiels.

4