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
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.