Двоичные файлы имеют двойственную связь с VCS, потому что:
- они не объединяются (так что вся "поддержка ветвления" не так уж и интересна)
- они не очень хорошо различаются (что означает, что их история не очень компактна)
- они обычно могут быть сгенерированы
- или их можно получить из других репозиториев
Двоичные файлы являются частью Git limit , так как они имеют тенденцию замедлять весь рабочий процесс и не масштабируются по размеру (хранилище быстро становится слишком большим для эффективного управления / резервного копирования) ).
Итак, вопрос в том, могли бы вы хранить эти файлы в каком-либо другом репозитории, кроме VCS?
Возможно, Maven репо (управляется менеджером репо, таким как Nexus , не распределяется точно, но создан для ссылки на точную версию любого типа набора файлов).
Jakub Narębski (фактический участник Git ) справедливо указывает на проект Git fork, способный управлять более эффективно большими файлами.
[git-bigfiles (хорошо, логотип проекта потрясающий;))
Остается вопрос: является ли VCS правильным инструментом для управления такими большими объектами?
Потому что, по моему опыту, вопрос о "очистке истории" будет задаваться один или другой день из-за постоянно увеличивающегося объема используемого дискового пространства.
И VCS принципиально не сделаны для "очистки" их истории.
Сам Git не может сделать это, не изменив свой ключ SHA1, что делает любую будущую публикацию другим публичным репо проблематичной.