Мы хотим предотвратить:
- Очень большие текстовые файлы (> 50 МБ на файл) не должны быть зафиксированы в
git
вместоgit-lfs
, так как они раздувают историю git. - Проблема в том, что 99% из них имеют размер ‹ 1 МБ и должны быть зафиксированы для лучшего сравнения.
- Причина разницы в размере: это файлы YAML, они поддерживают бинарную сериализацию через кодировку base64.
- Причина, по которой мы не можем надежно предотвратить бинарную сериализацию: это проект Unity, бинарная сериализация необходима по разным причинам.
Дано:
- На хостинге GitHub отсутствует поддержка перехватчиков перед получением.
- git-lfs отсутствие поддержки атрибута размера файла.
Вопросы:
- Как мы можем надежно предотвратить добавление больших файлов в коммит?
- Можно ли это сделать с помощью файла конфигурации в репозитории, чтобы все пользователи изящно следовали этому правилу?
- Если нет, можно ли это сделать с помощью псевдонима команды bash, чтобы доверенные пользователи могли видеть предупреждающее сообщение, когда они случайно
git add
большой файл, и он не обрабатываетсяgit-lfs
?
(Наша среда — macOS. Я просмотрел множество решений, и пока ни одно из них не удовлетворяет нашим требованиям)
pre-commit
хук может справиться со мной. - person solarshado   schedule 09.12.2018