Git использует эвристику, чтобы попытаться определить, является ли файл двоичным. См. Эту статью для получения дополнительной информации и того, как заставить git рассматривать данный файл как двоичный файл.
Для хорошего учебника по подмодулям см. здесь и здесь .
У меня была, по сути, та же проблема: я хотел использовать git pickle, которые являются двоичными, но git считает, что они текстовые.Pro Git Book.Поэтому я решил свои проблемы, создав файл .gitattributes с такой строкой:
.gitattributes
*.pickle binary
git add my-binary-file git commit git push
добавит ваш двоичный файл; это автоматически.
Действительно, если у вас есть 100 версий вашего файла, он будет хранить его (но сжатый).
Вы можете использовать подмодули для ссылок на другие репозитории.